我在注册后使用以下方法进行程序化登录
private void autoLogin(User user,
HttpServletRequest request)
{
GrantedAuthority[] grantedAuthorities = new GrantedAuthority[] { new GrantedAuthorityImpl(
"ROLE_ADMIN") };
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
user.getUsername(), user.getPassword(),grantedAuthorities);
// generate session if one doesn't exist
request.getSession();
token.setDetails(new WebAuthenticationDetails(request));
Authentication authenticatedUser = authenticationManager.authenticate(token);
SecurityContextHolder.getContext().setAuthentication(authenticatedUser);
}
用户已通过身份验证,但始终具有ROLE_ANONYMOUS我不知道为什么?有任何想法吗 ?
这种现象看起来很奇怪。Javi建议手动将安全性上下文持久化到会话中,但是应该由Spring Security的自动完成SecurityContextPersistenceFilter
。
一个可能的原因,我可以想像是filters = "none"
在<intercept-url>
你的登记处理的页面。
filters = "none"
禁用指定URL的所有安全过滤器。如你所见,它可能会干扰Spring Security的其他功能。因此,更好的方法是保持启用过滤器,但将其配置为允许所有用户访问。你有几种选择:
<http use-expressions = "true" ...>
):access = "ROLE_ANONYMOUS"
允许未经身份验证的用户访问,但拒绝经过身份验证的用户access = "IS_AUTHENTICATED_ANONYMOUSLY, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED"
<http use-expressions = "true" ...>
),你只需编写access = "true"
以允许所有用户访问(但其他<intercept-url>s
也应使用此语法)。我正在尝试制作一个使用数据库的java应用程序。我已经下载了db2并创建了一个用户'student'。我的程序中有以下几行: 显然,我几乎不知道我在做什么,我不知道如何给予“学生”必要的特权。也就是说,我不知道什么用户可以给他特权,因为我从来没有创建过另一个用户。我看到有人提到过'db2admin'(我使用的是windows),但我不知道该如何处理这段信息。我不知道如何检查现有用户,也不知道对db
我正在开发一个应用程序,它需要AndroidMarshmallow的位置权限。我遵循了实现它所需的所有步骤(函数调用)。当我运行应用程序时,它会弹出一个请求用户权限的框。当我选择是时,它会显示另一个弹出窗口,上面写着“检测到屏幕覆盖”,并将我带到显示应用程序列表的设置屏幕。在那里,我取消选中所有应用程序,然后按后退按钮返回我的应用程序。当调用回调时,我可以看到权限未被授予。它一直在发生。 为什么它
我已经创建了自己的android。这样我就可以使用隐藏的API调用“DisplayManager.connectWifiDisplay()”。 当我运行应用程序并调用该方法时,在通过Wifi Direct连接到显示器后, 我得到以下例外: java.lang.SecurityException:连接到wifi显示器所需的权限:用户10105和当前进程都没有android.Permission.CO
在Android OS 4.0上运行我的应用程序并请求权限时,我遇到问题: 我总是接到电话 使用ActivityCompat检查权限。checkSelfPermission总是返回。 通过使用system dialog请求权限,它在OS 6.0上运行良好。Android操作系统4。除4.0之外,始终授予许可。OS 4.0其他权限(摄像头、日历、联系人、电话)运行正常,但导致此问题的。 也许是操作系
在Ora11g中,我使用以下方式向用户授予所有权限。 但在ORA12C中,当我执行grant privileges时,我得到以下错误。 从命令-授予创建会话,向xx授予任何权限错误报告-ORA-00604:递归SQL级别1 ORA-20997发生错误:“授予任何权限”授予不允许的ORA-06512:在“RDSADMIN.RDSADMIN”处,第79行ORA-06512:在第2 00604行。000
问题内容: 尝试写这个: 找不到执行此简单任务的当前方法。 注意:即使需要其他方法,iOS7也应该可以使用 问题答案: 您可以使用以下代码执行相同的操作: 注意: 确保在构建阶段的“链接二进制”部分中添加框架 您应该在课堂上写一些用于导入的内容 SWIFT 3 斯威夫特4