EJB中的一个Bean,如何配置它的权限,让通过验证的用户才可以调用它的方法呢?

zhangchunlei 2003-01-16 10:20:52
比方说,有一个SessionBean,定义了两个方法,默认是谁都可以通过JNDI找到它并调用它的方法,如何配置才能使它必须通过某种验证才可以调用相关方法呢?可以不考虑方法级的验证,就是一旦通过验证,所有方法都可以调用,高分,谢谢!!

最好举个例子,如WebLogic下面的一个sessionEJB,谢谢!!!
...全文
39 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangchunlei 2003-01-17
  • 打赏
  • 举报
回复
谢谢,我已经知道怎么做了,但有个奇怪的问题,设置我是对所有Method(*)进行的,有时认证有效,有时无效,但通过程序都可以调用,通过Servlet与JSP却不可以(很多时候都不可以,但在调用别的WEb应用相同的认证后,它又可以用了)。
我再慢慢看吧。
juanxincai 2003-01-16
  • 打赏
  • 举报
回复
在weblogic中首先在deploye之前,縣對ejb group屬性中的security roles
中添加role.然後到你想要設置安全性的ejb下面.找到method permissions
中就可以添加和設置方法的權限了.add 按鈕被激活.

設置好後,deploy.
從客戶端調用ejb時,
******************************/
//Initialization jndi context
String url = "t3://eip:80";
String user = null;
String password = null;
Properties properties = null;
Context ctx=null;

try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
}
ctx = new InitialContext(properties);
}
catch(Exception e) {
e.printStackTrace();
}
**************************************************/

user 和password都要有值,container匯進行check.
妳的user 必須是你所建的role的一員.

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧