[英]CQ5: How can I propagate a logged-in user's security context to an integrated web application?
[英]How do i propagate security to my independent web service enterprise application?
我創建了一個簡單的Web應用程序,其中包含Web頁面和一個企業應用程序,其中包含Web應用程序的Web服務和EJB。 我設法為我的Web應用程序配置安全性。 但是現在我如何在EJB方法方法上將此安全性傳播到我的企業應用程序? 所以我可以使用@RolesAllowed(“”)等注釋?
在您的Web應用程序中,當您通過JNDI搜索bean時,您必須將用戶/密碼信息傳遞給InitialContext構造函數(代碼來自: http : //schuchert.wikispaces.com/EJB3+Tutorial+6+-+Security )
public InitialContext getInitialContextFor(final String user,
final String password) throws NamingException {
final Properties p = new Properties();
p.setProperty(Context.SECURITY_PRINCIPAL, user);
p.setProperty(Context.SECURITY_CREDENTIALS, password);
p.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.jboss.security.jndi.JndiLoginInitialContextFactory");
return new InitialContext(p);
}
如果您希望您的Web應用程序容器自動為您執行此操作 - 我不知道該怎么做。
順便說一句 - 您是否為web應用程序和ejbs使用相同的容器?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.