pac4j.callbackUrl = /callback pac4j.clients = FacebookClient, Google2Client facebook.key = YOUR_FACEBOOK_APP_KEY facebook.secret = YOUR_FACEBOOK_APP_SECRET google2.key = YOUR_GOOGLE_APP_KEY google2.secret = YOUR_GOOGLE_APP_SECRET import org.pac4j.core.config.Config; import org.pac4j.core.context.HttpConstants; import org.pac4j.core.profile.CommonProfile; import org.pac4j.j2e.filter.SecurityFilter; import org.pac4j.j2e.filter.CallbackFilter; import org.pac4j.j2e.filter.LogoutFilter; import org.pac4j.j2e.filter.ApplicationLogoutFilter; import org.pac4j.j2e.handler.CallbackHandler; import org.pac4j.j2e.handler.LogoutHandler; import org.pac4j.j2e.handler.ApplicationLogoutHandler; import org.pac4j.j2e.filter.RequiresAuthenticationFilter; public class MySecurityConfig { public static Config buildConfig() { Config config = new ConfigFactory(packageName + "example.properties"); SecurityFilter securityFilter = new SecurityFilter(); CallbackFilter callbackFilter = new CallbackFilter(); LogoutFilter logoutFilter = new LogoutFilter(); ApplicationLogoutFilter appLogoutFilter = new ApplicationLogoutFilter(); RequiresAuthenticationFilter requiresAuthentication = new RequiresAuthenticationFilter(); securityFilter.setConfig(config); callbackFilter.setDefaultUrl("/index"); callbackFilter.setConfig(config); callbackFilter.setHandler(new CallbackHandler()); logoutFilter.setDefaultUrl("/logout"); logoutFilter.setConfig(config); logoutFilter.setLocalLogout(true); logoutFilter.setDestroySession(true); logoutFilter.setHandler(new LogoutHandler()); appLogoutFilter.setDefaultUrl("/"); appLogoutFilter.setConfig(config); appLogoutFilter.setHandler(new ApplicationLogoutHandler()); requiresAuthentication.setConfig(config); Filter[] filters = { securityFilter, callbackFilter, logoutFilter, appLogoutFilter, requiresAuthentication }; Chain chain = new Chain("/"); chain.setFilters(filters); ConfigSingleton.setConfiguration(config); ConfigSingleton.getApp().addFilterChain("/**", chain); return config; } }


上一篇:
下一篇:
切换中文