我已经在我的应用程序Spring控制器中实现了Spring Security表达式:
@Controller
@RequestMapping("init")
public class InitController {
@PreAuthorize("hasRole('ROLE_ADMIN')")
@RequestMapping(value = "/", method = RequestMethod.GET)
public @ResponseBody String home(){
return "This is the init page";
}
}
使用此安全配置:
<http auto-config="true" create-session="stateless" use-expressions="true">
<intercept-url pattern="/_ah*" access="permitAll" />
<intercept-url pattern="/init/*" access="hasRole('ROLE_ADMIN')"/>
<intercept-url pattern="/init*" access="hasRole('ROLE_ADMIN')"/>
</http>
当访问此资源时,将显示默认的Spring登录表单(http://localhost:8888/spring_security_login
)但是,我不希望发生这种情况,我只希望在请求头中插入凭据,如“x-authorization-key”或任何适合该场景的内容。
有什么可能的解决办法?
标头
您可能应该阅读有关自动配置
功能的说明,然后将其删除以禁用表单登录
。如果你特别配置了你想要使用的东西,你的配置会更清晰。
您的问题不清楚您希望在x-authorization-key
标题中包含什么内容。如果您只是使用客户机Id和共享密钥进行身份验证,那么您也可以使用基本身份验证,因为它已经得到了现成的支持,您只需添加
身份验证机制的适用性也取决于它实际上由什么组成。通常情况下,用户将拥有分配的角色,这些角色在进行身份验证时加载,通常来自某种数据库。
hasRole
表达式只检查当前用户是否具有指定的角色。通常,您只需要创建一个userdetails服务
,它以标准格式加载您的用户信息,该格式很容易插入到框架中。其他地方详细介绍了这一点。如果你真的需要更个性化的东西,这篇关于GAE集成的博客文章将详细介绍如何与更复杂的系统集成。
如果使用
create session='stateless'
,Spring Security将不会创建或使用会话。
另外,你不需要在URL级别和处理相同URL的控制器上都包含相同的安全属性。
问题内容: 我已经在我的应用程序Spring控制器中实现了Spring Security Expression: 使用此安全配置: 当访问该资源时,将显示默认的Spring登录表单(),但是我不希望这种情况发生,并且我只想将凭据插入到请求标头中,例如“ x-authorization-key”或任何其他内容。适合的情况。 有什么可能的解决方案? 仅将x-authorization-key包含在请求
我尝试使用这个简单的代码登录,但在我点击登录按钮后,else选项“无效用户名或密码!”总是出现,即使用户名和密码是匹配的 控制器:
我是Symfony的新手,我正在尝试为我的应用程序创建一个access登录表单,但当我尝试登录时,它只会一次又一次地将我重定向到表单登录。在此之前,我使用了HTTP基本表单,它工作得很好,但现在我尝试使用登录表单,这是不可能的。 这是我的代码: 用户类(带教义): 安全Controller.php: Security.yml login.html.twig 有什么想法吗?谢谢
我一直在关注symfony网站上的教程(http://symfony.com/doc/current/security.html)为我的Symfony 3.1项目添加登录名。它可以与HTTP基本身份验证一起工作,但是当我使用这里的教程添加form_登录时(http://symfony.com/doc/current/security/form_login_setup.html)它会一直重定向到登录
问题内容: 我正在忙于开发一个网站,该网站的右上角有一个登录框。我希望用户能够在不刷新的情况下登录同一页面。 好的,我已经开始工作了,但是我仍在努力登录后的过程,如下所示: (HTML) (PHP) (我的jQuery) (isLoggedIn.php) (isNotLoggedIn.php) 登录过程可以正常工作,但是注销混乱。当我单击isLoggedIn.php中的Logout链接时,它注销了
您好,我知道这个主题以前就有人提出过,但是没有人像我这样做过AJAX操作标准。我是AJAX和jQuery的新手 我这里的问题是,我不确定js函数“ajaxPostCallManip()”是否达到“login.php”!! 我发了几个警报,但没有出现...请帮帮忙 超文本标记语言代码 js代码 PHP代码