// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/mybatis/pojo/master/UUser.java
// @Table(name = "u_user")
// public class UUser {
//     @Id
//     @Column(name = "id")
//     @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SELECT replace(t.uuid,\"-\",\"\") FROM (SELECT uuid() uuid FROM dual) t")
//     private String id;
// 
//     @Column(name = "username")
//     private String username;
// 
//     @Column(name = "password")
//     private String password;
// 
//     @Column(name = "description")
//     private String description;
// 
//     @Column(name = "discard")
//     private String discard;
// 
//     @Column(name = "createtime")
//     private Date createtime;
// 
//     @Column(name = "modifytime")
//     private Date modifytime;
// 
//     /**
//      * @return id
//      */
//     public String getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      */
//     public void setId(String id) {
//         this.id = id == null ? null : id.trim();
//     }
// 
//     /**
//      * @return username
//      */
//     public String getUsername() {
//         return username;
//     }
// 
//     /**
//      * @param username
//      */
//     public void setUsername(String username) {
//         this.username = username == null ? null : username.trim();
//     }
// 
//     /**
//      * @return password
//      */
//     public String getPassword() {
//         return password;
//     }
// 
//     /**
//      * @param password
//      */
//     public void setPassword(String password) {
//         this.password = password == null ? null : password.trim();
//     }
// 
//     /**
//      * @return description
//      */
//     public String getDescription() {
//         return description;
//     }
// 
//     /**
//      * @param description
//      */
//     public void setDescription(String description) {
//         this.description = description == null ? null : description.trim();
//     }
// 
//     /**
//      * @return discard
//      */
//     public String getDiscard() {
//         return discard;
//     }
// 
//     /**
//      * @param discard
//      */
//     public void setDiscard(String discard) {
//         this.discard = discard == null ? null : discard.trim();
//     }
// 
//     /**
//      * @return createtime
//      */
//     public Date getCreatetime() {
//         return createtime;
//     }
// 
//     /**
//      * @param createtime
//      */
//     public void setCreatetime(Date createtime) {
//         this.createtime = createtime;
//     }
// 
//     /**
//      * @return modifytime
//      */
//     public Date getModifytime() {
//         return modifytime;
//     }
// 
//     /**
//      * @param modifytime
//      */
//     public void setModifytime(Date modifytime) {
//         this.modifytime = modifytime;
//     }
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/service/master/IUserFrontService.java
// public interface IUserFrontService {
// 
//     public UUser getUserById(String userid);
//     public UUser findByLogin(UUser user) ;
// 
//     public int createUser(UUser user) ;
//     public Page<UUser> findByParams(UUser user, int pageNo, int limit) ;
// 
//     int deleteByPrimaryKey(String userid);
//     int updateByPrimaryKeySelective(UUser user);
// 
//     int findAllCount(UUser user) ;
//     List<UUser> findHotUser() ;
//     List<UUser> findAllByQuery(UUser user) ;
// 
//     /**
//      * 分页查询
//      * @param map
//      * @return
//      */
//     public List<UUser> list(Map<String, Object> map) ;
// 
//     public Long getTotal(Map<String, Object> map);
// 
// 
//     /**
//      * Shiro的登录验证，通过用户名查询用户信息
//      * @param username
//      * @return
//      */
//     public UUser findUserByUsername(String username) ;
// 
//   Set<String> findRoleNames(String username);
// 
//   Set<String> findPermissionNames(Set<String> roleNames);
// 
//   boolean registerUser(UUser user);
// }


import com.chengjs.cjsssmsweb.mybatis.pojo.master.UUser;
import com.chengjs.cjsssmsweb.service.master.IUserFrontService;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Set;
package com.chengjs.cjsssmsweb.components.shiro;



/**
 * UserRealm:
 *
 * eao issue: 多Reaml配置 TODO
 *
 * Realm: 其实现的数据模型规定了如何进行授权 与RDBMS LDAP等交流, 完全控制授权模型的创建和定义
 * author: <a href="mailto:chengjs_minipa@outlook.com">chengjs</a>, version:1.0.0, 2017/8/25
 */
public class UserRealm extends AuthorizingRealm {

  @Autowired
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/mybatis/pojo/master/UUser.java
// @Table(name = "u_user")
// public class UUser {
//     @Id
//     @Column(name = "id")
//     @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "SELECT replace(t.uuid,\"-\",\"\") FROM (SELECT uuid() uuid FROM dual) t")
//     private String id;
// 
//     @Column(name = "username")
//     private String username;
// 
//     @Column(name = "password")
//     private String password;
// 
//     @Column(name = "description")
//     private String description;
// 
//     @Column(name = "discard")
//     private String discard;
// 
//     @Column(name = "createtime")
//     private Date createtime;
// 
//     @Column(name = "modifytime")
//     private Date modifytime;
// 
//     /**
//      * @return id
//      */
//     public String getId() {
//         return id;
//     }
// 
//     /**
//      * @param id
//      */
//     public void setId(String id) {
//         this.id = id == null ? null : id.trim();
//     }
// 
//     /**
//      * @return username
//      */
//     public String getUsername() {
//         return username;
//     }
// 
//     /**
//      * @param username
//      */
//     public void setUsername(String username) {
//         this.username = username == null ? null : username.trim();
//     }
// 
//     /**
//      * @return password
//      */
//     public String getPassword() {
//         return password;
//     }
// 
//     /**
//      * @param password
//      */
//     public void setPassword(String password) {
//         this.password = password == null ? null : password.trim();
//     }
// 
//     /**
//      * @return description
//      */
//     public String getDescription() {
//         return description;
//     }
// 
//     /**
//      * @param description
//      */
//     public void setDescription(String description) {
//         this.description = description == null ? null : description.trim();
//     }
// 
//     /**
//      * @return discard
//      */
//     public String getDiscard() {
//         return discard;
//     }
// 
//     /**
//      * @param discard
//      */
//     public void setDiscard(String discard) {
//         this.discard = discard == null ? null : discard.trim();
//     }
// 
//     /**
//      * @return createtime
//      */
//     public Date getCreatetime() {
//         return createtime;
//     }
// 
//     /**
//      * @param createtime
//      */
//     public void setCreatetime(Date createtime) {
//         this.createtime = createtime;
//     }
// 
//     /**
//      * @return modifytime
//      */
//     public Date getModifytime() {
//         return modifytime;
//     }
// 
//     /**
//      * @param modifytime
//      */
//     public void setModifytime(Date modifytime) {
//         this.modifytime = modifytime;
//     }
// }
// 
// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/service/master/IUserFrontService.java
// public interface IUserFrontService {
// 
//     public UUser getUserById(String userid);
//     public UUser findByLogin(UUser user) ;
// 
//     public int createUser(UUser user) ;
//     public Page<UUser> findByParams(UUser user, int pageNo, int limit) ;
// 
//     int deleteByPrimaryKey(String userid);
//     int updateByPrimaryKeySelective(UUser user);
// 
//     int findAllCount(UUser user) ;
//     List<UUser> findHotUser() ;
//     List<UUser> findAllByQuery(UUser user) ;
// 
//     /**
//      * 分页查询
//      * @param map
//      * @return
//      */
//     public List<UUser> list(Map<String, Object> map) ;
// 
//     public Long getTotal(Map<String, Object> map);
// 
// 
//     /**
//      * Shiro的登录验证，通过用户名查询用户信息
//      * @param username
//      * @return
//      */
//     public UUser findUserByUsername(String username) ;
// 
//   Set<String> findRoleNames(String username);
// 
//   Set<String> findPermissionNames(Set<String> roleNames);
// 
//   boolean registerUser(UUser user);
// }


// Path: cjs_ssms_web/src/main/java/com/chengjs/cjsssmsweb/components/shiro/UserRealm.java
import com.chengjs.cjsssmsweb.mybatis.pojo.master.UUser;
import com.chengjs.cjsssmsweb.service.master.IUserFrontService;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authz.AuthorizationInfo;
import org.apache.shiro.authz.SimpleAuthorizationInfo;
import org.apache.shiro.realm.AuthorizingRealm;
import org.apache.shiro.subject.PrincipalCollection;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.Set;

package com.chengjs.cjsssmsweb.components.shiro;



/**
 * UserRealm:
 *
 * eao issue: 多Reaml配置 TODO
 *
 * Realm: 其实现的数据模型规定了如何进行授权 与RDBMS LDAP等交流, 完全控制授权模型的创建和定义
 * author: <a href="mailto:chengjs_minipa@outlook.com">chengjs</a>, version:1.0.0, 2017/8/25
 */
public class UserRealm extends AuthorizingRealm {

  @Autowired
  private IUserFrontService userFService;