私はこれを数日間試してみました。私はwildfly上で実行されている私のJava EEアプリケーションのフォームベースの認証を作成しようとしています。私はJAX-RSとAngularJSを使用しています。私はWildflyフォーム認証
<security-domain name="malison">
<authentication>
<login-module code="Database" flag="required">
<module-option name="dsJndiName" value="java:jboss/datasources/malisonDS"/>
<module-option name="principalsQuery" value="select password from USER where user=?"/>
<module-option name="rolesQuery" value="select position from USER where user=?"/>
</login-module>
</authentication>
</security-domain>
を次のようにwildflyセキュリティドメインを作成し、今、私は私の認証機能のためのコードを書く問題を抱えている
<security-constraint>
<display-name>UnSecuredPages</display-name>
<web-resource-collection>
<web-resource-name>Access</web-resource-name>
<url-pattern>/api/user/*</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Access</web-resource-name>
<url-pattern>/user.jsp</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Access</web-resource-name>
<url-pattern>/assets/*</url-pattern>
</web-resource-collection>
</security-constraint>
<security-role>
<role-name>ADMIN</role-name>
</security-role>
私のweb.xmlを設定しています。クライアントに成功応答を送信する必要があります。私はこれがうまくいくと思った。あなたは、このアプリケーションが認証に使用するセキュリティドメインWildflyを伝える必要があり
@POST
@Path("/authenticate")
@Consumes(MediaType.APPLICATION_JSON)
public String authenticate(@Context HttpServletRequest request, JSONObject obj){
String userName = String.valueOf(obj.get("username"));
String password = String.valueOf(obj.get("password"));
try{
request.login(userName, password);
}
catch(Exception e){
e.printStackTrace();
}
return "{\"success\":true, \"msg\": \"Saved successfully\"}";
}
誰もが、私は感謝されるの周りの溶液または仕事を提供することができます...