博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring security积累
阅读量:7258 次
发布时间:2019-06-29

本文共 907 字,大约阅读时间需要 3 分钟。

使用数据库管理用户权限:

Spring Security默认情况下需要两张表,用户表和权限表

create table users(    username varchar_ignorecase(50) not null primary key,    password varchar_ignorecase(50) not null,    enabled boolean not null);create table authorities (    username varchar_ignorecase(50) not null,    authority varchar_ignorecase(50) not null,    constraint fk_authorities_users foreign key(username) references users(username));create unique index ix_auth_username on authorities (username,authority);

users:用户表。包含username用户登录名,password登陆密码,enabled用户是否被禁用三个字段。

Spring Security会在初始化时,从这两张表中获得用户信息和对应权限,将这些信息保存到缓存中。其中users表中的登录名和密码用来控制用户的登录,而权限表中的信息用来控制用户登陆后是否有权限访问受保护的系统资源。

获取当前用户信息

如果想在程序中获得当前登陆用户对应的对象。

UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext()    .getAuthentication()    .getPrincipal();

如果想获得当前登陆用户所拥有的所有权限。

Collection
authorities = (Collection
) userDetails.getAuthorities();;

转载地址:http://jzvdm.baihongyu.com/

你可能感兴趣的文章
NoSQL -- php应用redis、mongodb
查看>>
Nginx 配置全解析(一)
查看>>
java中的URLEncoder和URLDecoder类的联系与区别
查看>>
我的友情链接
查看>>
Redis 连接池配置及redis操作
查看>>
MDT2012/13功能测试(1)—向MDT工作台添加资源
查看>>
NFS文件系统
查看>>
ExtJs的tab
查看>>
mysql安装
查看>>
pip笔记(译)
查看>>
python基础(七)——网络编程
查看>>
算法——二分搜索
查看>>
Ruby Code Style
查看>>
CSS3深度学习
查看>>
将rm删除的文件,放到回收站
查看>>
JSTL安装与使用
查看>>
winSocket编程(十)完成端口
查看>>
POJ 1026 Cipher[置换]
查看>>
[链接]--Microsoft Dynamics CRM 2011 Web Resource简介
查看>>
织梦标签
查看>>