如何在grails spring security自定义UserDetailsServices类中获取url参数?
Posted
技术标签:
【中文标题】如何在grails spring security自定义UserDetailsServices类中获取url参数?【英文标题】:How to get url parameters in grails spring security custom UserDetailsServices class? 【发布时间】:2012-04-30 03:55:59 【问题描述】:我有两个登录页面,一个用于用户,另一个用于管理员。为了知道谁在尝试登录,我想有一个像 /app/admin/login
和 /app/user/login
这样的 url 模式。我不能按子域更改。这是一个使用 spring 安全性的 grails 应用程序。所以默认情况下,所有登录请求都发送到/j_spring_security_check
url。我应该怎么做才能将登录提交 url 从 /j_spring_security_check
更改为 /app/$context/login
其中 $context 可以是用户或管理员?
我面临的另一个问题是,如何获取我的自定义 UserDetailsServices 类的请求参数? params
在那个类中不可用,所以我不能像在 Filters 类中那样写 params.context
。
对此的任何见解都会非常有帮助。 谢谢。
【问题讨论】:
【参考方案1】:This 帖子可能有助于解决 j_spring_security 问题。 解决方案不是直接针对 Grails,但我看到 Grails 允许您以任何您喜欢的方式自定义 Spring。
关于参数的服务层问题: params 是 Controller 的隐式 HttpRequest.parameters 对象。永远不要试图在服务层中期望任何 Http 感知。
所以我们不能在服务层引用它是一件好事。我的建议是将它作为参数传递给服务类方法。
【讨论】:
它为我工作。它基本上是在谈论这个:static.springsource.org/spring-security/site/docs/3.0.x/apidocs/…以上是关于如何在grails spring security自定义UserDetailsServices类中获取url参数?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Security 时如何允许 CKEditor 在 Grails 中上传图像
Grails spring-security-oauth-google:如何设置
如何使用 spring-security-core-ldap 插件在 grails 中实现 LDAP 身份验证?
如何在 grails 和现有 oauth2 提供程序中使用 Spring Security 实现基于表单的登录