(158) - 对配置,代码必要的地方添加注释,方便理解
parent
8a826aa0d2
commit
b311d47107
|
@ -7,6 +7,8 @@ import java.io.Serializable;
|
|||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 定义抽象的 Domain父类, 将公共属性放于些
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public abstract class AbstractDomain implements Serializable {
|
||||
|
@ -17,9 +19,13 @@ public abstract class AbstractDomain implements Serializable {
|
|||
*/
|
||||
protected int id;
|
||||
|
||||
/**
|
||||
* 用于实现逻辑删除
|
||||
*/
|
||||
protected boolean archived;
|
||||
/**
|
||||
* Domain business guid.
|
||||
* 业务Id
|
||||
*/
|
||||
protected String guid = GuidGenerator.generate();
|
||||
|
||||
|
|
|
@ -12,7 +12,10 @@ import javax.sql.DataSource;
|
|||
import static com.monkeyk.sos.infrastructure.CacheConstants.CLIENT_DETAILS_CACHE;
|
||||
|
||||
/**
|
||||
* Add <i>archived = 0</i> condition
|
||||
* 扩展 默认的 ClientDetailsService, 增加逻辑删除判断( archived = 0)
|
||||
* SQL中添加 <i>archived = 0</i> 条件
|
||||
* <p/>
|
||||
* 增加缓存支持
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
|
|
@ -13,6 +13,8 @@ import static com.monkeyk.sos.infrastructure.CacheConstants.REFRESH_TOKEN_CACHE;
|
|||
|
||||
/**
|
||||
* 2016/7/26
|
||||
* <p/>
|
||||
* 扩展默认的 TokenStore, 增加对缓存的支持
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
|
|
@ -6,6 +6,8 @@ import java.io.Serializable;
|
|||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 定义OAuth中的 Client, 也称 ClientDetails
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public class OauthClientDetails implements Serializable {
|
||||
|
|
|
@ -5,6 +5,8 @@ import com.monkeyk.sos.domain.shared.Repository;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 处理 OAuth 相关业务的 Repository
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public interface OauthRepository extends Repository {
|
||||
|
|
|
@ -5,6 +5,8 @@ import org.springframework.security.oauth2.common.util.RandomValueStringGenerato
|
|||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 随机数生成处理工具
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public abstract class GuidGenerator {
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
package com.monkeyk.sos.domain.shared;
|
||||
|
||||
/**
|
||||
* 抽象的 Repository 统一接口,
|
||||
* 是一个标记接口
|
||||
* <p/>
|
||||
* Repository是在 DDD 开发模式中定义
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
||||
|
|
|
@ -11,6 +11,8 @@ import java.util.Collection;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Spring Security中的 UserDetails 实现
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public class WdcyUserDetails implements UserDetails {
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.monkeyk.sos.domain.user;
|
||||
|
||||
/**
|
||||
* 用户权限
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public enum Privilege {
|
||||
|
|
|
@ -8,6 +8,8 @@ import java.util.Date;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 定义用户
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public class User extends AbstractDomain {
|
||||
|
|
|
@ -6,6 +6,8 @@ import java.time.format.DateTimeFormatter;
|
|||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* 日期处理工具类
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public abstract class DateUtils {
|
||||
|
@ -33,7 +35,6 @@ public abstract class DateUtils {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public static String toDateText(LocalDate date, String pattern) {
|
||||
if (date == null || pattern == null) {
|
||||
return null;
|
||||
|
|
|
@ -4,6 +4,8 @@ import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
|
|||
|
||||
/**
|
||||
* 2016/3/25
|
||||
* <p/>
|
||||
* 处理账号密码, 使用MD5加密
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
|
|
@ -10,6 +10,8 @@ import org.springframework.stereotype.Service;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* OAuth 业务处理服务对象, 事务拦截也加在这一层
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
@Service("oauthService")
|
||||
|
|
|
@ -21,6 +21,8 @@ import java.util.Collection;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 处理用户, 账号, 安全相关业务
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
@Service("userService")
|
||||
|
|
|
@ -5,6 +5,8 @@ import org.apache.commons.lang.StringUtils;
|
|||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* Web 层工具类
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public abstract class WebUtils {
|
||||
|
|
|
@ -47,6 +47,9 @@ import java.util.Map;
|
|||
* 2016/3/8
|
||||
* <p/>
|
||||
* Restful OAuth API
|
||||
* <p/>
|
||||
* 扩展默认的OAuth 功能, 提供 Restful API,
|
||||
* 可用于在获取access_token时调用
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
* @see org.springframework.security.oauth2.provider.endpoint.TokenEndpoint
|
||||
|
|
|
@ -13,6 +13,8 @@ import java.io.IOException;
|
|||
|
||||
/**
|
||||
* 2016/1/30
|
||||
* <p/>
|
||||
* 设置字符编码并记录IP地址
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
|
|
@ -7,6 +7,9 @@ import org.springframework.security.oauth2.provider.AuthorizationRequest;
|
|||
import org.springframework.security.oauth2.provider.approval.TokenStoreUserApprovalHandler;
|
||||
|
||||
/**
|
||||
* 处理OAuth 中用户授权确认的逻辑
|
||||
* 这在grant_type 为 authorization_code, implicit 会使用到
|
||||
*
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public class OauthUserApprovalHandler extends TokenStoreUserApprovalHandler {
|
||||
|
@ -17,6 +20,13 @@ public class OauthUserApprovalHandler extends TokenStoreUserApprovalHandler {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* 这儿扩展了默认的逻辑, 若 OauthClientDetails 中的 trusted 字段为true, 将会自动跳过 授权流程
|
||||
*
|
||||
* @param authorizationRequest AuthorizationRequest
|
||||
* @param userAuthentication Authentication
|
||||
* @return True is approved
|
||||
*/
|
||||
public boolean isApproved(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
|
||||
if (super.isApproved(authorizationRequest, userAuthentication)) {
|
||||
return true;
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
|
||||
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
|
||||
|
||||
|
||||
<!--
|
||||
使用XML方式配置Log4j
|
||||
-->
|
||||
<!--console-->
|
||||
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
|
|
Loading…
Reference in New Issue