我在春季啓動應用程序上使用spring安全性,我無法使用我製作的自定義登錄頁面。我想在默認情況下使用自定義登錄頁面,而不使用配置控制器,而是想要從application.properties更改配置。此外,我想拒絕訪問其他網頁,直到登錄成功。請幫我註銷應用程序。如何在沒有配置的情況下爲自定義登錄頁面使用spring boot security?
回答
Spring Security Reference提供了關於如何實現自定義登錄頁面的extensive guide。
我組建了一個小例子中this repo
我們是否需要使用WebSecurityConfigurerAdapter類。我們不能使用application.properties而不是WebSecurityConfigurerAdapter類嗎? –
沒有辦法單獨使用我知道的'application.properties' **來實現**,我懷疑是否存在。 我建議的方法是春季隊推薦的方法。 –
Spring Security With Customn login Page
已與sitemash + Hibernate一同也實現提供了自定義登錄頁面的Spring Security的一個例子,你必須創建啞巴給出數據庫在自述文件中。
定義自定義的login.jsp
<form method="POST" action="${contextPath}/login" class="form-signin">
<h2 class="form-heading">Log in</h2>
<div class="form-group ${error != null ? 'has-error' : ''}">
<span>${msg}</span>
<input name="username" type="text" class="form-control" placeholder="Username"
autofocus="true"/>
<input name="password" type="password" class="form-control" placeholder="Password"/>
<span>${errorMsg}</span>
<button class="btn btn-lg btn-primary btn-block" type="submit">Log In</button>
</div>
</form>
接下來的控制器,添加它會返回/登錄RequestMapping
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login(Model model, String error, String logout) {
if (error != null)
model.addAttribute("errorMsg", "Your username and password are invalid.");
if (logout != null)
model.addAttribute("msg", "You have been logged out successfully.");
return "login";
}
最後修改春自定義登錄頁面GET方法安全配置指定上述請求映射
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/").permitAll().antMatchers("/welcome").hasAnyRole("USER", "ADMIN")
.antMatchers("/getEmployees").hasAnyRole("USER", "ADMIN").antMatchers("/addNewEmployee")
.hasAnyRole("ADMIN").anyRequest().authenticated()
.and().formLogin().loginPage("/login").permitAll()
.and().logout().permitAll();
}
詳細的說明和工作的源代碼Spring Boot Security - Creating a custom Login Page
- 1. AngularJS的Spring Boot&Security登錄頁面
- 2. 如何在沒有登錄頁面的情況下使用簡單的Spring Security AuthenticationProvider?
- 3. 如何在沒有spring-boot的情況下在spring-webflux中加載配置?
- 4. Spring Security沒有顯示登錄頁面
- 5. 在沒有XML配置的情況下實現Spring Security Oauth
- 6. Spring Boot + Spring Security使用AngularJS登錄
- 7. Spring Security如何在不登錄的情況下更新userDetails
- 8. 如何使用Java配置登錄頁面配置Spring MVC HttpSecurity
- 9. Spring Boot 1.3.3。,Spring Security基本自定義配置
- 10. 自定義新的Grails Spring Security Core插件登錄頁面
- 11. Spring Security&CAS - 在不登錄的情況下查看安全頁面
- 12. 在沒有Spring Security API的情況下實現SAML和傳統登錄
- 13. 在沒有用戶登錄的情況下彈出谷歌登錄頁面
- 14. 防止在沒有登錄的情況下打開頁面
- 15. 如何在不使用_layouts目錄的情況下提供自定義頁面?
- 16. 自定義登錄檢查(Grails Spring Security)
- 17. 如何在使用Spring Boot時爲Spring HATEOAS配置自定義RelProvider?
- 18. 如何在沒有密碼的情況下使用SSH登錄
- 19. Alfresco的自定義登錄頁面,沒有「登錄」頁面類型配置 - 但頁面權威性需要它
- 20. 如何配置spring security以使用我自定義的UserDetailsManager?
- 21. 根據所需角色自定義登錄頁面使用Grails Spring Security
- 22. 頁面可以在沒有登錄驗證的情況下登錄
- 23. Spring Security禁用默認登錄頁面
- 24. 配置Spring Security沒有在Spring XML 4
- 25. 使用Spring Security進行Spring Boot Java配置:如何配置使用FilterBasedLdapUserSearch和BindAuthenticator?
- 26. Spring Boot Security 4自定義PasswordEncoder
- 27. 使用Spring Security Plugin在Grails中自定義登錄表格
- 28. 如何配置Spring Security以使用自定義AuthenticationManager實現?
- 29. Spring Security&Spring批量管理控制檯 - 自定義登錄頁面
- 30. 如何在沒有登錄對話框頁面的情況下驗證facebook sdk?
我沒有配置,我問,我想使用自定義登錄頁面,而不配置或使用application.properties文件進行配置。 –