SpringSecurity匿名用户访问权限
在SpringSecurity中定义一个匿名访问权限,实现未登录用户可以访问默写页面
<http use-expressions="false" entry-point-ref="casProcessingFilterEntryPoint">
<intercept-url pattern="/cart/**" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_USER"/>
<custom-filter position="CAS_FILTER" ref="casAuthenticationFilter" />
<custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER"/>
<custom-filter ref="singleLogoutFilter" before="CAS_FILTER"/>
</http>
就是在第2行添加的内容。此处的意思是所有的/cart/**目录下的都可以访问,并且用户名统一为annonymousUser
结合SpringSecurity的匿名用户未登录访问和登录访问的判断
下方代码目的是用来获取当前用户的访问用户名
1、如果已登录返回用户的登录id
2、未登录为当前用户创建一个UUID存入Cookie中并返回该Cookie的UUID
/**
* 准备方法获取cookie中的uuid,如果cookie中没有uuid生成uuid并保存到cookie中
*/
public String getUuid(){
String uuid = CookieUtil.getCookieValue(request, "uuid","utf-8"); //从cookie中获取的uuid为null或者有具体的值
if(uuid == null || uuid.equals("")){
uuid = UUID.randomUUID().toString(); //XXXX-XXXX-XXXXXXXXX
//将生成的uuid存入cookie中
CookieUtil.setCookie(request, response, "uuid", uuid,48*60*60, "utf-8");
}
return uuid;
} public String getUserID{
String userId = SecurityContextHolder.getContext().getAuthentication().getName(); //从springSecurity获取当前用户
//判断是否登录,如果未登录,返回UUID,如果已登录返回用户登录名
if("anonymousUser".equals(userId)){
userId = getUuid(); //cookie中获取uuid作为唯一key值
}
return userId;
}
SpringSecurity匿名用户访问权限的更多相关文章
- Confluence 6 为站点启用匿名用户访问
如果你希望你的站点能够被所有人看到,包括不需要登录就可以访问的用户.你必须为你的站点启用匿名用户访问权限才可以. 希望启用匿名用户访问你的站点: 在屏幕的右上角单击 控制台按钮 ,然后选择 Gener ...
- 004.FTP匿名用户访问
一 匿名用户配置项 [root@imxhy~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable #允许匿名用户访问 anon_upload_enable #允 ...
- Linux系统学习 十五、VSFTP服务—匿名用户访问(不推荐使用,不安全)
匿名用户访问 基本配置: anonymous_enable #允许匿名用户访问 anon_upload_enable #允许匿名用户上传 anon_mkdir_write ...
- Windows安装MongoDB 4.0并赋予用户访问权限
第一部分 Windows安装MongoDB-4.0 第一步:下载MongoDB:https://www.mongodb.com/download-center?jmp=nav#community 我目 ...
- [App Store Connect帮助]三、管理 App 和版本(8)编辑 App 的用户访问权限
对于具有“App 管理”.“客户支持”.“开发者”.“营销”或“销售”职能的特定人员(均不具有“访问报告”职能),您可以限制其在 App Store Connect 帐户中对 App 的访问权限. 必 ...
- Linux上的ftp服务器vsftpd之配置满天飞--设置匿名用户访问(不弹出用户名密码框)以及其他用户可正常上传
一.问题背景 没事谁折腾这鬼玩意哦...还不是因为bug. 我们的应用,用户头像是存在ftp上的.之前的ftp服务器是一台windows,我们后台服务器程序收到用户上传头像的请求时,会用一个ROOT/ ...
- SQLServer控制用户访问权限表
连接地址:http://www.cnblogs.com/yxyht/archive/2013/03/22/2975880.html 一.需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权 ...
- Linux 配置SFTP,配置用户访问权限
之前我服务器是使用的Windows Server 2003,这段时间由于访问量变大我还是机智的换成Linux了,在搭建FTP的时候看到网上都是推荐vsftpd,不过我不推荐这个家伙,看官且看下文. 我 ...
- Confluence 6 给一个从 Jira Service Desk 的非许可证用户访问权限
如果你正在使用 Confluence 为 Jira 服务桌面(Jira Service Desk)的知识库,你可以选择允许所有活动的用户和客户(客户是可以登录的用户,但是这些用户是没有 Conflue ...
随机推荐
- (一)类型转换 is 和 as
c# 是强类型语言. CLR最重要的特性之一就是 类型安全,在运行时,CLR总是知道对象的类型是什么,C#所有的类的继承自system.Object ,所以都包含GetType方法,调用GetType ...
- Spring Data JPA的低级错误
//课程表 @Entity public class Class { @GeneratedValue(strategy = GenerationType.AUTO) @Id private Long ...
- JavaScript 之 取消 a 标签的默认行为
方式一 语法格式: <a href="javascript:;">百度</a> javascript: 是一个伪协议,其他的伪协议还有 mail: tel ...
- java web的转发与重定向
java web的转发与重定向 原创 2012年12月15日 11:51:39 19312 转发和重定向的区别 一.使用方法 转发:request.getRequestDispatcher(" ...
- java String字符串编码类型转换
/** * 前后端数据乱码问题 * 解决办法1: * 乱码原因:一编一解码型不一致导致. * [main description] * @param {[type]} String[] args [d ...
- golang测试
简述 Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试. go test [-c] [-i] [build flags] [packages] [f ...
- 熟练掌握GitHub及Git的使用方法
一.Git 命令的理解和使用 Git是一个快速,可扩展的分布式版本控制系统,具有异常丰富的命令集,可提供高级操作和对内部的完全访问. 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码 ...
- Gitlab修改IP后,配置更改
gitlab 服务器在修改了IP地址之后,面对需要修改配置的问题,否则每个项目的 git网址显示是老IP.从网上搜索了不少修改教程,发现基本都是修改 /opt/gitlab/embedded/serv ...
- hadoop安装教程,分布式配置 CentOS7 Hadoop3.1.2
安装前的准备 1. 准备4台机器.或虚拟机 4台机器的名称和IP对应如下 master:192.168.199.128 slave1:192.168.199.129 slave2:192.168.19 ...
- MATLAB 下GUI的学习
做界面,然后在对应程序里做调用. 0.打开文件:命令行输入 guide 或者 新建——图形用户界面1.文件-预设可以对字体.代码等进行设置.2.工具-GUI选项可以改变行为大小. 3,添加轴,面板,按 ...