Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在GlassFish中使用JSR 196认证获得角色?

如何在GlassFish中使用JSR 196认证获得角色?
EN

Stack Overflow用户
提问于 2010-02-01 02:13:57
回答 2查看 2K关注 0票数 2

我希望使用符合JSR 196的自定义身份验证模块,在GlassFish 3中,接口javax.security.auth.message.ServerAuth有以下方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AuthStatus validateRequest(
  MessageInfo messageInfo,
  javax.security.auth.Subject clientSubject,
  javax.security.auth.Subject serviceSubject
)

AuthStatus可以是像失败或成功这样的几个常量之一。

问题是:如何使用JSR 196从“角色数据库”获取角色?

示例:服务器接收带有SSO令牌(例如CAS令牌)的请求,检查令牌是否有效,使用角色填充远程用户对象,角色通过JDBC从数据库中获取,或通过http从REST服务中获取。

角色取取是否在JSR 196的范围内?如何实现这一目标?

我是否必须使用JSR 196和JSR 115一起使用自定义身份验证和自定义角色源?

EN

回答 2

Stack Overflow用户

发布于 2011-06-24 01:52:38

这是我的JSR-196OpenID实现中的一个代码示例。该方法设置当前CallerPrincipal的字符串数组中存储的角色:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private boolean setCallerPrincipal(String caller, Subject clientSubject) {
            boolean rvalue = true;
            boolean assignGroups = true;
            // create CallerPrincipalCallback
            CallerPrincipalCallback cPCB = new CallerPrincipalCallback(
                            clientSubject, caller);
            if (cPCB.getName() == null && cPCB.getPrincipal() == null) {
                    assignGroups = false;
            }
            try {
                    handler.handle((assignGroups ? new Callback[] {
                                    cPCB,
                                    new GroupPrincipalCallback(cPCB.getSubject(),
                                                    assignedGroups) } : new Callback[] { cPCB }));
                    logInfo(DEBUG_JMAC, "jmac.caller_principal:" + cPCB.getName() + " "
                                    + cPCB.getPrincipal());
            } catch (Exception e) {
                    // should not happen
                    logger.log(Level.WARNING, "jmac.failed_to_set_caller", e);
                    rvalue = false;
            }
            return rvalue;
    }

我在validateRequest()方法期间调用此方法。您可以在这里看到完整的代码:http://code.google.com/p/openid4java-jsr196/source/browse/trunk/src/main/java/org/imixs/openid/openid4java/OpenID4JavaAuthModule.java

另外,此页面将有帮助:http://code.google.com/p/openid4java-jsr196/

票数 1
EN

Stack Overflow用户

发布于 2010-03-17 09:58:04

下面是我如何将用户映射到角色的方法:

我的web.xml中有3个角色,我的sun-web.xml中也有3个角色到组的映射,它映射了几个组的角色。然后,我有一个具有表用户的数据库,其中有一个名为"group“的列。该组对应于映射到角色的组。我还使用了基于JSR 196的自定义auth模块和OpenID.因此,基本上,每当用户登录到他们的组时,就从db读取,然后我的应用程序为他们分配相应的角色。所有这些都是使用J2EE的标准声明性安全模型完成的。

对于我的自定义auth模块,我使用了一个名为AuthenticRoast的库,这使得事情变得相当简单。

这里还有一个相关的帖子..。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2175892

复制
相关文章
从一次编译出发梳理概念: Jetty,Jersey,hk2,glassFish,Javax,Jakarta
最近在编译蚂蚁金服的sofa-registry,因为不可名状的原因,无法完全下载依赖的maven包,所以只能手动一个一个下载。事实证明,这是一个痛苦的过程,因为各种java包环环相扣,于是一个个java相关概念跃入眼帘。索性把这些概念一一梳理下,与大家分享。
罗西的思考
2020/09/22
2.7K0
基于SpringSecurity实现的基本认证及OAuth2
如果Spring Security位于类路径上,则所有HTTP端点上默认使用基本认证,这样就能使Web应用程序得到一定的安全保障。最为快捷的方式是在依赖中添加Spring Boot Security Starter。
愿天堂没有BUG
2022/10/28
1K0
基于SpringSecurity实现的基本认证及OAuth2
Python 爬虫使用 Selenium 如何在 WebElement 获得属性
我们需要在 Doc 中选择我们的元素,这个叫做选择器,通常来说 HTML 很多不同的选择器。
HoneyMoose
2023/09/19
1530
Python 爬虫使用 Selenium 如何在 WebElement 获得属性
如何在深度学习竞赛中获得前五名
本文中的所有代码都在GitHub Repository上。数据集已经在适当的文件夹中,并且代码可以运行(在安装PyTorch之后)。
代码医生工作室
2020/04/20
7860
数据库安全·用户/角色认证
以下节选择《Netkiller Architect 手札》 地址 http://www.netkiller.cn/architect/ 接下来几周的话题是数据库安全。 5.6. 用户/角色认证 本小节我们实现一个功能,当用户插入,修改或者删除数据时,判断该操作是否具备应有的权限。如果权限不符合就拒绝操作同时提示用户。 CREATE TABLE `staff` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '员工ID', `name`
netkiller old
2018/03/05
1.2K0
GlassFish 总结
Glassfish是一款Web应用服务器,和Tomcat一样,也是一款优秀的Servlet容器。
全栈程序员站长
2022/09/06
6520
赛后跟踪:如何在 ImageNet 比赛中获得冠军?
近两个月,国内团队先后在全球权威的人脸检测评测平台 FDDB 和全球自动驾驶算法公开排行榜 KITTI 以及 Cityscapes 上取得非常好的成绩,这在一定程度上证明了国内计算机视觉相关算法已达到国际顶尖水平。 今年 ILSVRC 2016(全称是ImageNet Large Scale Visual Recognition Challenge)分为五大部分,包括:目标检测、目标定位、视频中目标物体检测、场景分类、场景分析。在昨天,全球最为权威的计算机视觉大赛 ILSVRC2016(大规模图像识别竞赛)
AI科技评论
2018/03/08
1.5K0
赛后跟踪:如何在 ImageNet 比赛中获得冠军?
如何在你的项目中使用JSR 303 - Bean Validation进行数值校验?
JSR-303 是 Java EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是hibernate Validator。
Java后端技术
2018/08/09
1.5K0
0887-7.1.4-如何在CDP中为Kafka启用Kerberos认证及使用
1.文档编写目的 在CDP集群中启用了Kerberos认证,那么Kafka集群能否与Kerberos认证服务集成呢?本文主要讲述如何通过Cloudera Manager为Kafka集群启用Kerberos认证及客户端配置使用。 内容概述 1.修改Kafka配置 2.配置客户端 3.客户端测试Producer和Consumer 测试环境 1.RedHat7.6 2.CM版本7.3.1和CDP版本7.1.4 3.采用root用户 4.Kafka2.4.1 2.修改Kafka配置 1.登录Cloudera Man
Fayson
2022/08/26
1.1K0
0887-7.1.4-如何在CDP中为Kafka启用Kerberos认证及使用
云计算如何获得信任?认证评级
云计算的本质在于通过集中供应式的弹性计算,降低计算成本。与水厂、电厂不同的是,云计算使用者需要把数据交给云计算厂商,这让一些厂商对云计算心存芥蒂,宁愿使用一些昂贵的计算方式或者服务较差的云计算服务比如运营商。不过近日一个事件表明,云计算安全已经不再是问题。 一、民生网站获权威安全评级,为云计算正名 近日部署于阿里云的中国药品电子监管网正式通过信息安全等级保护三级测评。这是全国首例部署在“云端”的部委级应用系统,通过国家权威机构测评,进一步证明阿里云的数据安全性。 中国药品电子监管网隶属于药品食品监督管理局。
罗超频道
2018/04/28
1.1K0
Jmeter(三十)_TimeShift函数在JSR223中的使用
日期 - 这是日期值。用于如果要通过添加或减去特定天数,小时或分钟来创建特定日期的情况。如果参数值未通过,则使用当前日期。
飞天小子
2018/08/31
3.2K0
Jmeter(三十)_TimeShift函数在JSR223中的使用
SpringBoot 使用 JSR303 实现参数验证
JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation。
jwangkun
2021/12/23
6720
SpringBoot 使用 JSR303 实现参数验证
如何在Tomcat中做TLS客户端认证
常见的https网站做的是服务端认证(server authentication),浏览器通过证书判断你所访问的https://baidu.com是否真的是百度,而不是其他人伪造的网站。同时还对流量加密,防止别人窃听你的流量。
颇忒脱
2019/04/19
2.8K0
如何在Tomcat中做TLS客户端认证
如何在 Linux 中配置基于密钥认证的 SSH
为方便演示,我将使用 Arch Linux 为本地系统,Ubuntu 18.04 LTS 为远程系统。
用户8989785
2021/09/09
1.6K0
glassfish安装教程_etc安装激活后怎么使用
Glassfish是一款由Sun公司开发的(现由甲骨文公司赞助)开源的免费的应用服务器,它既是EJB容器也是WEB容器。Glassfish支持最新版的Java EE标准。
全栈程序员站长
2022/09/24
1.1K0
glassfish安装教程_etc安装激活后怎么使用
JavaEE的RESTful标准技术JAX-RS,jersey-client客户端使用介绍【享学Java】
在Spring大行其道的今天,很多人对Java的RESTful规范JAX-RS可能比较陌生甚至未曾听闻,当然这也是能被“理解”的,毕竟Spring似乎现在已是JavaEE的事实标准。
YourBatman
2020/03/18
6.2K0
如何在百家交易所混战中获得收益?
      在币圈交易所鱼龙混杂,百家争鸣之际,数资管家币小秘也悄然崛起。但它能否帮助币民们在混战之中安身立命呢?又能否帮助币民择到明主呢?
币小秘
2018/06/27
5480
如何在百家交易所混战中获得收益?
基于springboot注解的shiro 授权及角色认证
用户登录后,需要验证是否具有指定角色指定权限。Shiro也提供了方便的工具进行判 断。 这个工具就是Realm的doGetAuthorizationInfo方法进行判断。
一个风轻云淡
2023/10/15
4470
基于springboot注解的shiro 授权及角色认证
点击加载更多

相似问题

基于Jaspic/JSR196 196模块的weblogic会话失效

15

jsr-196和保留经过身份验证的用户

11

为什么Android不使用196x196的偏袒?

22

基于角色的用户角色认证

40

如何知道一个资源是否在JSR-196auth模块中受到保护?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文