我遇到了问题,因为我不熟悉登录/身份验证的内容,所以我对于在哪里找到答案没有明确的愿景。
问题在于:
我将创建webapp(带有primefaces + ejb3的jsf),允许用户在没有登录对话框的情况下登录它 - 这意味着必须从Active Directory收集所有身份验证信息,关于用户的角色,组等。我怎么能得到它?如果用户没有提供至少他或她的用户名,我怎样才能获得用户信息?我必须问Active Directory域吗?
如果没有工作,有人可以提供至少伪代码吗?
答案 0 :(得分:0)
如果您正在谈论Windows系统,Microsoft提供了两种能够执行SSO(单点登录)的协议,这是您正在寻找的:NTLM和SPNEGO(Kerberos的一种变体)。
您的问题的答案取决于您的应用程序将运行的操作系统。如果是Windows,那么有几个使用Windows API的选项可以让它变得更容易。 (mod-auth-sspi,Waffle)
如果您正在运行其他系统,则必须使用提供整个堆栈的库,如Jespa,modauthkerb或其他。