हमारे पास लॉग इन करने के दो तरीके हैं।वसंत सुरक्षा: प्रमाणीकरण विफल होने पर लॉगिन पृष्ठ पर पुनर्निर्देशित
उपयोगकर्ता नाम और पासवर्ड अनुरोध हेडर में मौजूद है और इसके गलत करता है, तो कर रहे हैं, मैं एक HTTP स्थिति 401 से पता चला रहा हूँ।
प्रमाणीकरण विफल होने पर मैं लॉगिन पृष्ठ कैसे दिखा सकता हूं।
नीचे security.xml में कोड
<http auto-config="true" use-expressions="true">
<access-denied-handler error-page="/login.jsp"/>
<intercept-url pattern="/*Login*" access="hasRole('ROLE_ANONYMOUS')"/>
<intercept-url pattern="/*" access="hasRole('ROLE_USER') or hasRole('ROLE_ADMIN')"/>
<custom-filter ref="requestHeaderFilter" before="FORM_LOGIN_FILTER"/>
<form-login login-page="/login.jsp"/>
</http>
कृपया आप अधिक जानकारी की जरूरत है, तो मुझे पता है है।
संपादित करें: अपने आवेदन
public class RequestHeaderProcessingFilter extends AbstractAuthenticationProcessingFilter{
private String usernameHeader = "j_username";
private String passwordHeader = "j_password";
protected RequestHeaderProcessingFilter() {
super("/login_direct");
}
//getters and setters
@Override
public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) throws AuthenticationException, IOException, ServletException {
String username = request.getHeader(usernameHeader);
String password = request.getHeader(passwordHeader);
SignedUsernamePasswordAuthenticationToken authRequest =
new SignedUsernamePasswordAuthenticationToken(username, password);
return this.getAuthenticationManager().authenticate(authRequest);
}
} में RequestHeader फ़िल्टर के लिए कोड जोड़ने
हाय रघुराम, धन्यवाद। मैं डिफ़ॉल्ट FailureUrl कहां कॉन्फ़िगर करूँ? क्या मुझे ऊपर दिए गए कोड में इसे प्लग करना है? – vinoth
@vinoth। यह 'requestHeaderFilter' कार्यान्वयन के कार्यान्वयन पर निर्भर करता है। उत्तर में उल्लिखित वर्ग इस – Raghuram
करने का एक तरीका दिखाते हैं हाय, मैंने अनुरोध हैडरफिल्टर के कार्यान्वयन को जोड़ा है। क्या हमें उसमें बदलाव करना चाहिए? – vinoth