我有一个带有API的spring mvc web应用程序,看起来像这样
/api/createUser?name=Tom
。
同时,有一个由同一个Web应用程序支持的网站,该网站具有受限制的页面,只有在用户使用登录表单+ Active Directory进行授权后才能访问该页面。我已经设法建立AD并且运行良好,但我对API有点遗失。
我也想对API调用进行身份验证。也就是说,我想向每个API调用引入username
和password
字段,以便当相关控制器收到此API调用时,它首先以编程方式验证用户并成功,然后继续执行请求。
所以问题是,如何在Spring中以编程方式从MVC控制器中彻底验证用户?是否有任何魔法豆可以注入并利用它的力量?
答案 0 :(得分:0)
我认为你可以使用弹簧安全
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<http auto-config="true">
<intercept-url pattern="/api**" access="ROLE_USER" />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="username" password="password" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>