2012-11-21 65 views
0

我需要帮助为我的公司整合系统。我们创建了一个数据库,将所有信息集中在一个认证服务器中。使用SpringSecurity Core进行身份验证

对于身份验证,我们使用内部URL是这样的:

http://autentication/ServletAutentication?login=XXXXXXXXXX&password=YYYYYYYYY 

其中XXXXXXXX是MD5算法的YYYYYYYYY用户名和加密的密码。如何获得返回XML:

<autentication> 
            <login> XXXXXXXX </ login> 
            <password> true </ password> 
</autentication> 

需要进行身份验证。权限由SpringSecurity Core控制。

认证后,它会被存储在最后访问日期这一点。

有谁知道我可以在SpringSecurity核心插件实现这一点?

+2

Spring Security没有以这种方式工作...它不应该,因为通过密码(或它的MD5哈希)在这样的URL(特别是HTTP,而不是HTTPS)是不安全的。 – GreyBeardedGeek

+0

GreyBeardedGeek,谢谢你的回复!即使URL不安全,环境也受到控制,并且不需要这种安全性。访问此URL的返回是一个带有webservice认证结果的XML。你看到有什么办法来实现这一点? – isilva

+0

无法理解:您是否正在尝试为现有的“身份验证服务器”实施Grails客户端或者自己创建此服务器? –

回答

0

既然你不认为你需要实际上是安全的,你当然可以,实现自己的非安全保障方案 - 只需要创建一个控制器,它看起来的用户名和密码哈希了在数据库中,然后返回xml,向响应添加会话cookie以跟踪登录状态。

在另一方面,试图破解春季安全到底该怎么做这是不是意味着做可能是不值得的。

+0

GreyBeardedGeek您好,非常感谢您的回复!我们真正想要的是做到这一点,创建一个操作在远程服务器上执行此身份验证服务。目标是保存用户密码以装饰更多。因此,当在应用程序中创建并输入用户密码时,这将调用带有必要参数的url,以验证验证服务器是否返回了XML,并且答案正确,并通过身份验证正常执行。(续...) – isilva

+0

问题是我不知道如何在Grail中调用URL,也不知道如何处理XML中收到的响应。我认为它会很酷。你知道执行这些命令吗?你认为这个逻辑工作吗? – isilva

+0

不,我认为这是一个非常糟糕的主意和“重新发明轮子”。如果你听起来像是在尝试单点登录。对于SSO有许多预先存在的解决方案,您应该只使用其中的一个。 – GreyBeardedGeek