我试图通过实现authenticationprovider
在应用程序中使用Spring security实现自定义身份验证。身份验证是成功的,并且用户也具有指定的角色,但我仍然总是得到访问被拒绝的页面。下面是我的代码。我是Spring保安的新手。请帮帮忙。提前致谢
<form-login
login-page="/login" login-processing-url="/j_spring_security_check" default-target-url="/welcome" authentication-failure-url="/login?error"
/>
<access-denied-handler error-page="/403" />
<logout logout-success-url="/login?logout" />
<csrf disabled="true"/>
</http>
<authentication-manager id="dao-auth" erase-credentials="false">
<authentication-provider ref="customAuthenticationProvider">
</authentication-provider>
</authentication-manager>
<b:bean id="customAuthenticationProvider" class="com.xom.custom.dataservice.impl.CustomAuthenticationProvider"></b:bean>
@Override
public Authentication authenticate(Authentication authentication) throws
AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
final User rasUser;
try {
rasUser = checkPrivileges(name, password);
} catch (NoRASUserLoginException exception) {
throw new ServiceException(0, "exception while retrieving user data " + exception);
} catch (SQLException exception) {
throw new ServiceException(0, "exception while retrieving user privilages " + name + exception);
}
// userValue = (UserDetails) rasUser;
if (rasUser == null)
throw new UsernameNotFoundException(name + " not found");
List<SimpleGrantedAuthority> auths = new
java.util.ArrayList<SimpleGrantedAuthority>();
for (String privilege : rasUser.getPermissions()) {
if (privilege != null && privilege.equalsIgnoreCase("RReportAdmin"))
{
auths.add(new
SimpleGrantedAuthority("ROLES_".concat(privilege)));
}
}
auths = auths.stream().distinct().collect(Collectors.toList());
authentication = new UsernamePasswordAuthenticationToken(name, password, auths);
return authentication;
}
<html>
<head>
<title>Login</title>
</head>
<body onload='document.loginForm.username.focus();'>
<h1>Spring Security Custom Login Form (XML)</h1>
<div id="login-box">
<h3>Login with Username and Password</h3>
<form name='loginForm'
action="<c:url value='/j_spring_security_check' />" method='POST'>
<table>
<tr>
<td>User:</td>
<td><input type='text' name='username'></td>
</tr>
<tr>
<td>Password:</td>
<td><input type='password' name='password' /></td>
</tr>
<tr>
<td colspan='2'><input name="submit" type="submit"
value="submit" /></td>
</tr>
</table>
</form>
</div>
</body>
</html>
原木
请尝试添加
access="permitAll" in Spring-security.xml for login-page="/login"
/welcome中的access=“hasRole('role_rreportadmin')”
我在prestashop中创建了一个自定义模块,但我不知道如何处理对该模块的访问。我没有找到任何关于它的文档。我知道怎么在symfony做,但在prestashop不行。我只想让一组用户访问我的模块。有人知道怎么做吗,或者有一个文档链接来帮助我?
问题内容: 我有一个HTML表单( upload.htm ),其中包含HTML文件上传控件。 上一页中还有一个JavaScript方法,如下所示: 我在一个页面内的页面( uploadpage.htm )中 称其 为: 我尝试从 uploadpage.htm 页面执行以下所示的语句: 我收到一条错误消息,说 Access被拒绝,并且调试器在显示的第一个JavaScript函数处停止。这两个文件都位
我们得到了一个很大的azure blueprint模板,它为我们创建了很多工件。其中一个工件是Azure密钥库。密钥库被创建,所需的秘密就在里面。 他试图创建的其他工件之一是Microsoft.Web/Certificates。我们尝试用下面的json创建它 因此,它很好地等待我们首先创建一个服务计划和密钥库,然后尝试从密钥库秘密中读取orgin证书。我们得到的错误是: 服务无权访问“{密钥存储库
问题内容: 在某种程度上,当我尝试通过命令行访问MySQL时,已经设法解决了该错误: 我尝试使用此HowTo重置密码,但没有任何运气。 我已经卸载了mysql completley并重新安装了,但是仍然需要输入密码。我不知道为什么会这样! 有人可以帮我获得默认安装的MySQL吗? 环境 Fedora Core 10,完全根访问权限,安装了Apache和PHP 感谢您的任何帮助!! 编辑 对于所有想
我是AWS Lambda的新手。我正在尝试从https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html.当用户将jpg上传到名为greetingsproject的S3 bucket时,会触发lambda函数。 错误:9a62ff86-3e24-491d-852e-DED2C2CF5D94 信息:获取对象时出错=拒绝访问:拒绝访
我最近才更新到新版本的forge,没有改变我的设置,当我去构建我的应用程序时,我得到了一个错误,说它找不到文件…