我已经成功地将JOSSO和Spring Security应用程序集成到我的Grails应用程序(使用LDAP进行用户控制)。
def developmentEnvironment = {
if (grailsApplication.config.grails.plugins.springsecurity.active) {
preAuthenticatedAuthenticationProvider(PreAuthenticatedAuthenticationProvider) {
preAuthenticatedUserDetailsService = ref('preAuthenticatedUserDetailsService')
}
preAuthenticatedUserDetailsService(PreAuthenticatedGrantedAuthoritiesUserDetailsService) {
}
j2eePreAuthFilter(J2eePreAuthenticatedProcessingFilter) {
authenticationManager = ref('authenticationManager')
authenticationDetailsSource = {
J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource authenticationDetailsSource ->
mappableRolesRetriever = {
SimpleMappableAttributesRetriever mappableAttributesRetriever ->
mappableAttributes = ['app_admin', 'app_user', 'app_report', 'app_access'] as Set
}
userRoles2GrantedAuthoritiesMapper = {
SimpleAttributes2GrantedAuthoritiesMapper grantedAuthoritiesMapper ->
convertAttributeToUpperCase = "true"
}
}
}
preAuthenticatedProcessingFilterEntryPoint(Http403ForbiddenEntryPoint) {
}
preAuthenticatedExceptionTranslationFilter(ExceptionTranslationFilter) {
authenticationEntryPoint = ref('preAuthenticatedProcessingFilterEntryPoint')
}
}
}
但是现在我有了从LDAP获得自定义属性的新需求(例如所有权
)。因此,我在LDAP下向我的用户添加了这些属性,据我所知,JOSSO将自动获得这些属性,但我不能在grails应用程序端获得这些属性。有什么方法可以在grails端获得这些属性吗?
这样的自定义属性应该放在UserDetails接口的实现或User类的扩展中。在http://static.springsource.org/spring-security/site/docs/3.1.x/reference/preauth.html中,您可以找到这个场景应该如何实现AuthenticationUserDetailsService。
这样做之后,就可以查询SecurityContextHolder以获得UserDetails实现
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
问题 如何使用自定义中间件在调用下一个上下文时获取响应正文? 到达await _next行后。从调试中调用(上下文); 不从操作结果返回 JSON 数据 获取用户菜单 我需要从上面的操作结果中得到响应体。 我的代码我试试: https://i.stack.imgur.com/PHUMs.png 当有效令牌时,它会在浏览器谷歌上返回如下数据 但在我的应用程序浏览器上返回无效令牌
问题是,就应用程序生命周期处理和易于使用而言,这种体系结构是否可以被认为是安全的? Update:每次创建新的活动并希望获得数据时,它可以获得ApplicationContext的BehaviorSubject,然后订阅它,Subject将发出最后发出的值;我为什么要这样做?例如。假设你有新闻项目,你获取了新闻提要,你想启动后台任务来获取新闻项目的全部内容,在这种情况下,我可以在你滚动新闻列表时开
我想使用java中的spring从ldap获取userPassword属性。 当然,这不起作用: 如果我尝试: 我可以得到这个属性...但是现在从Object如何获取哈希密码?
问题内容: 我希望能够用元数据注释我的类型和方法,并在运行时读取它们。 语言参考说明了如何声明属性用法,但实际上可以声明自己的属性吗? 阅读将需要某种反射机制,我根本无法在参考文献中找到这种反射机制,因此问题的第二部分可能是- 是否可能反射。如果这些功能在Swift中不可用,是否可以用Objective-C代码完成(但在Swift实例和类型上)? 相对不相关的注释:关于将什么建模为属性以及将哪些内
我已经在TestCase下创建了一些属性列表。例如,看下面的截图。 我试图通过以下groovy脚本teststep删除Testcase_Property属性: 当我重新加载项目时,当我单击测试用例名称时,Testcase_Property属性仍然存在于Custom Properties选项卡中。 谢谢 卡鲁纳加拉·潘迪