我在春季啓動應用程序上使用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. Spring Security沒有顯示登錄頁面
- 2. 如何在沒有spring-boot的情況下在spring-webflux中加載配置?
- 3. 在沒有XML配置的情況下實現Spring Security Oauth
- 4. Spring Boot + Spring Security使用AngularJS登錄
- 5. Spring Security如何在不登錄的情況下更新userDetails
- 6. Spring Security&CAS - 在不登錄的情況下查看安全頁面
- 7. Spring Boot 1.3.3。,Spring Security基本自定義配置
- 8. 如何在不使用_layouts目錄的情況下提供自定義頁面?
- 9. 自定義登錄檢查(Grails Spring Security)
- 10. 如何在沒有密碼的情況下使用SSH登錄
- 11. 如何在使用Spring Boot時爲Spring HATEOAS配置自定義RelProvider?
- 12. 根據所需角色自定義登錄頁面使用Grails Spring Security
- 13. Spring Security禁用默認登錄頁面
- 14. 使用Spring Security進行Spring Boot Java配置:如何配置使用FilterBasedLdapUserSearch和BindAuthenticator?
- 15. 如何配置Spring Security以使用自定義AuthenticationManager實現?
- 16. 如何在沒有Facebook應用的情況下登錄Facebook?
- 17. 如何在沒有用戶干預的情況下登錄Facebook?
- 18. 使用spring security創建自定義登錄
- 19. 使用自定義Grails Spring Security過濾器登錄失敗
- 20. 如果在禁用cookies的情況下在Spring Security 3中如何重定向用戶登錄
- 21. Spring Security OAuth2不能在沒有JWT的情況下工作
- 22. 如何配置Spring Boot和Spring Security以支持表單登錄和Google OAuth2登錄
- 23. 在沒有登錄的情況下發布到應用程序頁面
- 24. 如何在沒有WSGI的情況下爲Gunicorn配置ExecStart?
- 25. Spring Security java配置和登錄表單
- 26. 如何在沒有明確定義區域的情況下爲spring cache manager配置gemfire?
- 27. 如何使用spring security在首頁之前顯示登錄頁面?
- 28. 使用Spring Security在頁面中登錄框
- 29. 如何在沒有登錄的情況下注冊?
- 30. 如何在沒有提示的情況下登錄?
我沒有配置,我問,我想使用自定義登錄頁面,而不配置或使用application.properties文件進行配置。 –