shiro

  用以网站的授权和认证

 

配置:

一、shiro基本配置文件

  所用的entity user和role 实体类

 1 @Entity
 2 @Table(name="USER_P")
 3 @DynamicInsert(value=true)
 4 @DynamicUpdate(value=true)
 5 public class User extends BaseEntity {
 6     @Id
 7     @Column(name="USER_ID")
 8     @GeneratedValue(generator="system-assigned")
 9     @GenericGenerator(name="system-assigned",strategy="assigned")
10     private String id;
11     
12     @JsonManagedReference
13     //@ManyToOne(cascade= {CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},fetch=FetchType.EAGER)
14     @ManyToOne
15     @JoinColumn(name="DEPT_ID")
16     private Dept dept;
17     
18     @OneToOne(cascade=CascadeType.ALL)
19     //@OneToOne
20     @JoinColumn(name="USER_ID")
21     private Userinfo userinfo;
22     
23     @JsonBackReference
24     @ManyToMany(cascade= {CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},fetch=FetchType.EAGER)
25     //@ManyToMany
26     @JoinTable(name="ROLE_USER_P",joinColumns= {@JoinColumn(name="USER_ID",referencedColumnName="USER_ID")},
27     inverseJoinColumns= {@JoinColumn(name="ROLE_ID",referencedColumnName="ROLE_ID")})
28     @OrderBy("ORDER_NO")
29     private Set<Role> roles= new HashSet<>();        //用户对应角色
30     
31     @Column(name="USER_NAME")
32     private String userName;
33     
34     @Column(name="PASSWORD")
35     private String password;
36     
37     @Column(name="STATE")
38     private Integer state;
39 
40     //getter和setter方法
41 }
42 
43 @Entity
44 @Table(name="ROLE_P")
45 @DynamicInsert(true)
46 @DynamicUpdate(true)
47 public class Role extends BaseEntity {
48     @Id
49     @Column(name="ROLE_ID")
50     @GeneratedValue(generator="system-uuid")
51     @GenericGenerator(name="system-uuid",strategy="org.hibernate.id.UUIDGenerator")
52     private String id;        //角色ID
53     
54     @JsonBackReference
55     @ManyToMany(cascade= {CascadeType.MERGE,CascadeType.PERSIST,CascadeType.REFRESH},fetch=FetchType.EAGER)
56     @JoinTable(name="ROLE_USER_P",joinColumns= {@JoinColumn(name="ROLE_ID",referencedColumnName="ROLE_ID")},
57     inverseJoinColumns= {@JoinColumn(name="USER_ID",referencedColumnName="USER_ID")})
58     private Set<User> users = new HashSet<>(0);        //用户对应角色
59     
60     @Column(name="NAME")
61     private String name;        //角色名称
62     
63     @Column(name="REMARK")
64     private String remark;        //备注
65     
66     @Column(name="ORDER_NO")
67     private Integer orderNo;    //排序号
68 
69     //getter和setter方法
70 }
View Code

相关文章: