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 ...
随机推荐
- c# Windows服务管理
.NET Framework中提供的类库可以很方便的实现对windows服务的安装.卸载.启动.停止.获取运行状态等功能.这些类都在System.ServiceProcess命名空间下. 所以,在开始 ...
- 递归求兔子数列第n项的值
#include <iostream> using namespace std; int f(int n)//递归f数列的第n项 { ,y=,z; ||n==) { ; } else { ...
- C# 判断域名或ip+端口号 是否能正常连接?
private static ManualResetEvent TimeoutObject = new ManualResetEvent(false); /// <summary> /// ...
- Ansible-目录
Ansible-概念 Ansible-安装 YAML语法
- k8s 学习笔记
常用的kubectl命令 kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1 --image 指定镜像 - ...
- Idea热部署插件JRebel
安装部署:https://blog.csdn.net/weixin_42831477/article/details/82229436 Jrebel不生效的原因和解决办法:https://www.cn ...
- CentOS6.7安装部署php5(详解安装选项与主配置文件)
模块安装---PHP 编译环境:gcc gcc-c++ pcre-devel openssl-devel libxml2 libxml2-devel bzip bzip-dev ...
- Ubuntu 14.04更新为国内阿里源解决apt-get install无法执行的问题
step01: sudo gedit /etc/apt/sources.list #将下面全部粘贴到sources.list中deb http://mirrors.aliyun.com/ubuntu/ ...
- scratch2.0的教材视频,王木头系列
在线视频 http://v.qq.com/vplus/d05a62f676f6f3b6b87401b4530cff9a?page=cover 理论辩证 https://www.sohu.com/a/1 ...
- redis windows下载地址
https://github.com/MicrosoftArchive/redis/tags