SlideShare ist ein Scribd-Unternehmen logo
1 von 84
Downloaden Sie, um offline zu lesen
What's New in
spring-security-core 2.0
Burt Beckwith
3
le
Tex
t
Our Services
Our services start with a
foundation of planning,
interaction design, and visual
design. We are expert
builders with a passion for
protoyping, architecture and
development to help bring
your product to life.

First, what's old
Grails-y wrapper around Spring
Security
First, what's old
Many defaults, lots of
configurability – designed to be
customized and extended
First, what's old
Easy to get started – add
dependency in
BuildConfig.groovy and run
s2-quickstart
First, what's old
Helper classes
(SpringSecurityService,
taglibs, controllers, etc.)
First, what's old
Form, HTTP Basic, Digest auth
First, what's old
Users, roles, hierarchical roles,
customizable
UserDetailsService
First, what's old
Many password hashing options,
including options for salted
passwords
First, what's old
Remember-me
First, what's old
Ajax support
First, what's old
Switch-user (similar to “sudo”)
First, what's old
HTTP/HTTPS channel security
First, what's old
Session Fixation Protection
First, what's old
● Convention over configuration, with centralized configuration in grails-app/conf/Config.groovy
● Highly configurable and customizable
● Registers Spring Security beans in application context, filters in web.xml
● Storing users, roles, and optionally requestmaps in the database, with access through domain classes
● Guarding URLs with annotations, requestmap domain class, or static configuration
● Password encryption (with support for salt)
● "Remember me" cookie
● Security tags; <g:ifAllGranted/>, <g:ifNotGranted/>, <g:ifLoggedIn/>, etc.
● Security service; encodePassword(), isLoggedIn(), etc.
● Multiple authentication providers
● Form-based
● HTTP Basic
● Browser certificate (x509)
● Switch User
● Channel security
● IP address restrictions
● Ajax login
● Convenient event handlers
● Digest authentication
● Session Fixation Prevention
● Salted passwords
● Hierarchical roles
● Account locking and forcing password change
● Mostly Java for performance
● Convention over configuration, with centralized configuration in grails-app/conf/Config.groovy
● Highly configurable and customizable
● Registers Spring Security beans in application context, filters in web.xml
● Storing users, roles, and optionally requestmaps in the database, with access through domain classes
● Guarding URLs with annotations, requestmap domain class, or static configuration
● Password encryption (with support for salt)
● "Remember me" cookie
● Security tags; <g:ifAllGranted/>, <g:ifNotGranted/>, <g:ifLoggedIn/>, etc.
● Security service; encodePassword(), isLoggedIn(), etc.
● Multiple authentication providers
● Form-based
● HTTP Basic
● Browser certificate (x509)
● Switch User
● Channel security
● IP address restrictions
● Ajax login
● Convenient event handlers
● Digest authentication
● Session Fixation Prevention
● Salted passwords
● Hierarchical roles
● Account locking and forcing password change
● Mostly Java for performance
Trust me, it has a
lot of features
First, what's old
Extension plugins (ACL, CAS,
LDAP, OpenID, UI, etc.)
First, what's old
And more!
So … what's new?
See the notes in the docs:
What's New in Version 2.0
Highlights
More aggressively secure by default
Highlights
More aggressively secure by default
Pessimistic Lockdown by default, use
grails.plugin.springsecurity.rejectIfNoRule
and grails.plugin.springsecurity.fii.
rejectPublicInvocations to configure
Highlights
Pessimistic Lockdown:
grails.plugin.springsecurity.
controllerAnnotations.staticRules = [
'/': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll']
]
Highlights
Pessimistic Lockdown:
for (String url in [
'/', '/index', '/index.gsp',
'/**/favicon.ico', '/**/js/**',
'/**/css/**', '/**/images/**',
'/login', '/login.*', '/login/*',
'/logout', '/logout.*',
'/logout/*']) {
new Requestmap(
url: url,
configAttribute: 'permitAll')
.save()
}
Highlights
Pessimistic Lockdown:
grails.plugin.springsecurity.
interceptUrlMap = [
'/': ['permitAll'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/**/favicon.ico': ['permitAll'],
'/login/**': ['permitAll'],
'/logout/**': ['permitAll']
]
Highlights
More aggressively secure by default
Logout uses POST only, configure with
grails.plugin.springsecurity.logout.postOnly
Highlights
More aggressively secure by default
Default password hash is now bcrypt, and
PBKDF2 is also available
(password.algorithm = 'pbkdf2')
Highlights
More aggressively secure by default
Session Fixation Prevention is enabled by
default, configure with
grails.plugin.springsecurity.
useSessionFixationPrevention
Highlights
Using Spring Security
3.2.3.RELEASE - originally 3.1,
then 3.2.0-RC1, now 3.2.3 as of
this week
Highlights
Package changesPackage changes
Highlights
Package changes
Everything now under
grails.plugin.springsecurity
Package changes
Highlights
Package changes
Subpackages are similar to Spring
Security packages
Package changes
Highlights
Package changes
Subpackages are similar to Spring
Security packages
Package changes
e.g. GormUserDetailsService →
grails.plugin.springsecurity.userdetails.
GormUserDetailsService
Highlights
Package changes
Subpackages are similar to Spring
Security packages
Package changes
e.g. AjaxAwareAccessDeniedHandler →
grails.plugin.springsecurity.web.access.
AjaxAwareAccessDeniedHandler
Highlights
Configuration prefix changes
grails.plugins.springsecurity → grails.plugin.springsecurity
Highlights
No HQL (except in UI plugin), all
queries use “where” and Criteria
Highlights
More configurable properties in
Spring beans (goal is ~100%)
Highlights
More private → protected
Highlights
SpringSecurityService updates:
No withTransaction, using
@Transactional as needed
Highlights
SpringSecurityService updates:
getCurrentUser() uses
get(principal.id) if principal is
GrailsUser, otherwise
findWhere((usernamePropName):
principal.username)
Highlights
SpringSecurityService updates:
New loadCurrentUser() method
class SomeController {
def springSecurityService
def someAction() {
def user = springSecurityService.isLoggedIn() ?
springSecurityService.loadCurrentUser() : null
if (user) {
CreditCard card = CreditCard.findByIdAndUser(
params.id as Long, user)
...
}
...
}
}
NoStackUsernameNotFoundException
package grails.plugin.springsecurity.userdetails;
import org.springframework.security.core.userdetails.
UsernameNotFoundException;
public class NoStackUsernameNotFoundException
extends UsernameNotFoundException {
private static final long serialVersionUID = 1;
public NoStackUsernameNotFoundException() {
super("User not found");
}
@Override
public synchronized Throwable fillInStackTrace() {
// do nothing
return this;
}
}
New @Authorities annotation
Helps make your annotations
more DRY - see
http://burtbeckwith.com/blog/
?p=1398
Guarding URLs
Guarding URLs
@Secured now only works with
controller methods
Guarding URLs
@Secured supports Closures
@Secured(closure = {
assert request
assert ctx
authentication.name == 'admin1'
})
def someMethod() {
…
}
Guarding URLs
All 3 approaches support HTTP verbs
@Secured(
value=["hasRole('ROLE_ADMIN')"],
httpMethod='POST')
def someMethod() {
…
}
Anonymous Authentication
Principal now is a UserDetails like
when you're authenticated, but with
ROLE_ANONYMOUS
I18N
User-contributed Russian, Norwegian
Bokmål, Brazilian Portuguese
(pt-BR), Italian, and Swedish
translations
Controllers and GSPs
LoginController.groovy,
LogoutController.groovy, auth.gsp,
denied.gsp are in the plugin now -
copy to app to customize
Support for Grails 2.3
Support for redirect mappings, and
@Secured in RestfulController
Support for Grails 2.4
Removed a use of
ApplicationHolder (using
Holders instead)
New DebugFilter
Based on
org.springframework.security.
config.debug.DebugFilter -
enable with debug.useFilter (only
in dev!)
Role Groups
grails s2-quickstart
com.yourapp User Role
--groupClassName=RoleGroup
Role Groups
grails.plugin.springsecurity.
authority.groupAuthorityNameField =
'authorities'
grails.plugin.springsecurity.
useRoleGroups = true
Adds to Config.groovy:
Role Groups
Adds 3 new domain classes:
● RoleGroup
● RoleGroupRole (RoleGroup <->
Role many-many join class)
● UserRoleGroup (RoleGroup <->
User many-many join class)
Role Groups
Changes User.getAuthorities()
Set<Role> getAuthorities() {
UserRole.findAllByUser(this)
.collect { it.role }
}
Set<RoleGroup> getAuthorities() {
UserRoleGroup.findAllByUser(this)
.collect { it.roleGroup }
}
→
Role Groups
New docs:
● Group Class
● PersonGroup Class
● GroupAuthority Class
Miscellaneous
Using bcrypt impl from Spring
Security instead of copied code
Miscellaneous
GrantedAuthorityImpl is
deprecated, use
SimpleGrantedAuthority
Miscellaneous
provided ':webxml:1.4.1' →
compile ':webxml:1.4.1'
Miscellaneous
Grails 2.0+ only
Miscellaneous
Generated User class enabled
property now defaults to true
def u = new User(
username: 'me',
password: 'itsasecret')
.save()
Miscellaneous
Only prints status messages (e.g.
"Configuring Spring Security
Core ...") if printStatusMessages
is not false
Miscellaneous
No default values for
userLookup.userDomainClassName,
authority.className, etc. - error
messages now make more sense
Miscellaneous
AuthenticationDetailsSource
details class isn't configurable in
Spring Security 3.2, so the docs
describe how to customize
Miscellaneous
You can configure the
SecurityContextHolder strategy
(defaults to ThreadLocal, but can
use InheritableThreadLocal or
a custom impl - configure with
sch.strategyName
Miscellaneous
Spring Security 3.2 doesn't store the
last username in the HTTP session –
to use the old behavior configure
with apf.storeLastUsername
Miscellaneous
Functional tests now use Geb
Miscellaneous
The 1.x code is in its own branch
New Config Properties
● printStatusMessages = true
● ajaxCheckClosure = null
●
afterInvocationManagerProviderNames = []
● authority.groupAuthorityNameField = null
● useRoleGroups = false
● apf.storeLastUsername = false
● logout.clearAuthentication = true
●
logout.invalidateHttpSession = true
● logout.targetUrlParameter = null
● logout.alwaysUseDefaultTargetUrl = false
● logout.redirectToReferer = false
● logout.postOnly = true
New Config Properties
● failureHandler.allowSessionCreation = true
● successHandler.useReferer = false
●
adh.useForward = true
● password.hash.iterations = 10000
● rememberMe.createSessionOnSuccess = true
● requestMap.httpMethodField = 'httpMethod'
● basic.credentialsCharset = 'UTF-8'
●
switchUser.usernameParameter =
SwitchUserFilter.SPRING_SECURITY_SWITCH_USERNAME_KEY
● x509.subjectDnClosure = null
● debug.useFilter = false
● sch.strategyName = SecurityContextHolder.MODE_THREADLOCAL
New Config Properties
● scr.allowSessionCreation = true
● scr.disableUrlRewriting = true
●
scr.springSecurityContextKey =
HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY
● scpf.forceEagerSessionCreation = false
● fii.alwaysReauthenticate = false
● fii.rejectPublicInvocations = true
●
fii.validateConfigAttributes = true
● fii.publishAuthorizationSuccess = false
● fii.observeOncePerRequest = true
Changed Config Properties
● rejectIfNoRule true→
● userLookup.userDomainClassName null→
●
userLookup.authorityJoinClassName null→
● useSessionFixationPrevention true→
● password.algorithm 'SHA-256' 'bcrypt'→
● rememberMe.persistentToken.domainClassName null→
● rememberMe.useSecureCookie false null→
●
requestMap.className null→
● atr.anonymousClass GrailsAnonymousAuthenticationToken→
● providerManager.eraseCredentialsAfterAuthentication true→
Removed Config Properties
● requestCache.onlyOnGet
● authenticationDetails.authClass
●
anon.userAttribute
● controllerAnnotations.matcher
● controllerAnnotations.lowercase
● filterChain.stripQueryStringFromUrls
So, what's left to do?
So, what's left to do?
A lot. 31 issues scheduled for 2.0
So, what's left to do?
A lot. 31 issues scheduled for 2.0
But many are simple, and there will
probably be an RC3 release
¡Gracias!
http://cuteoverload.files.wordpress.com/2014/03/cute-smiling-animals-251.jpg

Weitere ähnliche Inhalte

Was ist angesagt?

W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesBrad Hill
 
Understanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationUnderstanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationJustin Bui
 
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinModern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinJava User Group Latvia
 
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...Jakub Kałużny
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSSOWASP
 
Getting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerGetting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerVMware Tanzu
 
How to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFSHow to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFSJohn Gasper
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokensOWASP
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsSecuRing
 
validation of user credentials in social network by using Django backend aut...
validation of user credentials in social network by using  Django backend aut...validation of user credentials in social network by using  Django backend aut...
validation of user credentials in social network by using Django backend aut...izzatisholehah
 
API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and PracticesPrabath Siriwardena
 
Building an API Security Ecosystem
Building an API Security EcosystemBuilding an API Security Ecosystem
Building an API Security EcosystemPrabath Siriwardena
 
JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJSrobertjd
 
Securing java web applications
Securing java web applicationsSecuring java web applications
Securing java web applicationsJonas Elias Flesch
 
REST API Pentester's perspective
REST API Pentester's perspectiveREST API Pentester's perspective
REST API Pentester's perspectiveSecuRing
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainSecuRing
 
Subgraph vega countermeasure2012
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012David Mirza
 
Draft: building secure applications with keycloak (oidc/jwt)
Draft: building secure applications with keycloak (oidc/jwt)Draft: building secure applications with keycloak (oidc/jwt)
Draft: building secure applications with keycloak (oidc/jwt)Abhishek Koserwal
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorizationGiulio De Donato
 
Intrigue Core: Scaling Assessment Automation
Intrigue Core: Scaling Assessment AutomationIntrigue Core: Scaling Assessment Automation
Intrigue Core: Scaling Assessment AutomationJonathan Cran
 

Was ist angesagt? (20)

W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
 
Understanding Windows Access Token Manipulation
Understanding Windows Access Token ManipulationUnderstanding Windows Access Token Manipulation
Understanding Windows Access Token Manipulation
 
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry BuzdinModern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
Modern Security with OAuth 2.0 and JWT and Spring by Dmitry Buzdin
 
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...
In The Middle of Printers - The (In)Security of Pull Printing solutions - Hac...
 
[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS[OPD 2019] Trusted types and the end of DOM XSS
[OPD 2019] Trusted types and the end of DOM XSS
 
Getting Started with Spring Authorization Server
Getting Started with Spring Authorization ServerGetting Started with Spring Authorization Server
Getting Started with Spring Authorization Server
 
How to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFSHow to CASifying PeopleSoft and Integrating CAS and ADFS
How to CASifying PeopleSoft and Integrating CAS and ADFS
 
[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
Abusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS appsAbusing & Securing XPC in macOS apps
Abusing & Securing XPC in macOS apps
 
validation of user credentials in social network by using Django backend aut...
validation of user credentials in social network by using  Django backend aut...validation of user credentials in social network by using  Django backend aut...
validation of user credentials in social network by using Django backend aut...
 
API Security : Patterns and Practices
API Security : Patterns and PracticesAPI Security : Patterns and Practices
API Security : Patterns and Practices
 
Building an API Security Ecosystem
Building an API Security EcosystemBuilding an API Security Ecosystem
Building an API Security Ecosystem
 
JWT Authentication with AngularJS
JWT Authentication with AngularJSJWT Authentication with AngularJS
JWT Authentication with AngularJS
 
Securing java web applications
Securing java web applicationsSecuring java web applications
Securing java web applications
 
REST API Pentester's perspective
REST API Pentester's perspectiveREST API Pentester's perspective
REST API Pentester's perspective
 
Attacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chainAttacking AWS: the full cyber kill chain
Attacking AWS: the full cyber kill chain
 
Subgraph vega countermeasure2012
Subgraph vega countermeasure2012Subgraph vega countermeasure2012
Subgraph vega countermeasure2012
 
Draft: building secure applications with keycloak (oidc/jwt)
Draft: building secure applications with keycloak (oidc/jwt)Draft: building secure applications with keycloak (oidc/jwt)
Draft: building secure applications with keycloak (oidc/jwt)
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
 
Intrigue Core: Scaling Assessment Automation
Intrigue Core: Scaling Assessment AutomationIntrigue Core: Scaling Assessment Automation
Intrigue Core: Scaling Assessment Automation
 

Andere mochten auch

Andere mochten auch (8)

What's Coming in Spring 3.0
What's Coming in Spring 3.0What's Coming in Spring 3.0
What's Coming in Spring 3.0
 
Restful Security Requirements
Restful Security RequirementsRestful Security Requirements
Restful Security Requirements
 
Spring security
Spring securitySpring security
Spring security
 
Spring security
Spring securitySpring security
Spring security
 
Spring Security Introduction
Spring Security IntroductionSpring Security Introduction
Spring Security Introduction
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Spring Security 3
Spring Security 3Spring Security 3
Spring Security 3
 
Spring Security
Spring SecuritySpring Security
Spring Security
 

Ähnlich wie What's New in spring-security-core 2.0

How to Use OWASP Security Logging
How to Use OWASP Security LoggingHow to Use OWASP Security Logging
How to Use OWASP Security LoggingMilton Smith
 
Anil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil Saldanha
 
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsExam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsGustavo Zimmermann (MVP)
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 
TangoWithDjango - ch8
TangoWithDjango - ch8TangoWithDjango - ch8
TangoWithDjango - ch8Asika Kuo
 
Chris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickChris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickMichael Man
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsGreg Castle
 
Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Alessandro Molina
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleFelix Meschberger
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleFelix Meschberger
 
jRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServicejRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServiceGunnar Hillert
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldDistributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldRachael L Moore
 
Nagios 3
Nagios 3Nagios 3
Nagios 3zmoly
 
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчикаМы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчикаNikita Prokopov
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basicMksYi
 
Struts 2 – Interceptors
Struts 2 – InterceptorsStruts 2 – Interceptors
Struts 2 – InterceptorsDucat India
 

Ähnlich wie What's New in spring-security-core 2.0 (20)

How to Use OWASP Security Logging
How to Use OWASP Security LoggingHow to Use OWASP Security Logging
How to Use OWASP Security Logging
 
Anil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseapAnil saldhana securityassurancewithj_bosseap
Anil saldhana securityassurancewithj_bosseap
 
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure SolutionsExam Overview 70-533 Implementing Azure Infrastructure Solutions
Exam Overview 70-533 Implementing Azure Infrastructure Solutions
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
21 05-2018
21 05-201821 05-2018
21 05-2018
 
Nagios 3
Nagios 3Nagios 3
Nagios 3
 
TangoWithDjango - ch8
TangoWithDjango - ch8TangoWithDjango - ch8
TangoWithDjango - ch8
 
Pixels_Camp
Pixels_CampPixels_Camp
Pixels_Camp
 
Chris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security BrickChris Rutter: Avoiding The Security Brick
Chris Rutter: Avoiding The Security Brick
 
Anthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applicationsAnthos Security: modernize your security posture for cloud native applications
Anthos Security: modernize your security posture for cloud native applications
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 
Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2Rapid Prototyping with TurboGears2
Rapid Prototyping with TurboGears2
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi Style
 
Declarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi StyleDeclarative Services - Dependency Injection OSGi Style
Declarative Services - Dependency Injection OSGi Style
 
jRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting ServicejRecruiter - The AJUG Job Posting Service
jRecruiter - The AJUG Job Posting Service
 
Distributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component worldDistributing UI Libraries: in a post Web-Component world
Distributing UI Libraries: in a post Web-Component world
 
Nagios 3
Nagios 3Nagios 3
Nagios 3
 
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчикаМы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
Мы ведь тоже люди. Еретическая лекция про юзабилити инструментов разработчика
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basic
 
Struts 2 – Interceptors
Struts 2 – InterceptorsStruts 2 – Interceptors
Struts 2 – Interceptors
 

Mehr von Burt Beckwith

Advanced GORM - Performance, Customization and Monitoring
Advanced GORM - Performance, Customization and MonitoringAdvanced GORM - Performance, Customization and Monitoring
Advanced GORM - Performance, Customization and MonitoringBurt Beckwith
 
Little Did He Know ...
Little Did He Know ...Little Did He Know ...
Little Did He Know ...Burt Beckwith
 
Grails Worst Practices
Grails Worst PracticesGrails Worst Practices
Grails Worst PracticesBurt Beckwith
 
Grails Plugin Best Practices
Grails Plugin Best PracticesGrails Plugin Best Practices
Grails Plugin Best PracticesBurt Beckwith
 
Testing the Grails Spring Security Plugins
Testing the Grails Spring Security PluginsTesting the Grails Spring Security Plugins
Testing the Grails Spring Security PluginsBurt Beckwith
 
Securing Grails Applications
Securing Grails ApplicationsSecuring Grails Applications
Securing Grails ApplicationsBurt Beckwith
 
Under the Hood: Using Spring in Grails
Under the Hood: Using Spring in GrailsUnder the Hood: Using Spring in Grails
Under the Hood: Using Spring in GrailsBurt Beckwith
 

Mehr von Burt Beckwith (8)

Advanced GORM - Performance, Customization and Monitoring
Advanced GORM - Performance, Customization and MonitoringAdvanced GORM - Performance, Customization and Monitoring
Advanced GORM - Performance, Customization and Monitoring
 
Little Did He Know ...
Little Did He Know ...Little Did He Know ...
Little Did He Know ...
 
Grails Worst Practices
Grails Worst PracticesGrails Worst Practices
Grails Worst Practices
 
Grails Transactions
Grails TransactionsGrails Transactions
Grails Transactions
 
Grails Plugin Best Practices
Grails Plugin Best PracticesGrails Plugin Best Practices
Grails Plugin Best Practices
 
Testing the Grails Spring Security Plugins
Testing the Grails Spring Security PluginsTesting the Grails Spring Security Plugins
Testing the Grails Spring Security Plugins
 
Securing Grails Applications
Securing Grails ApplicationsSecuring Grails Applications
Securing Grails Applications
 
Under the Hood: Using Spring in Grails
Under the Hood: Using Spring in GrailsUnder the Hood: Using Spring in Grails
Under the Hood: Using Spring in Grails
 

Kürzlich hochgeladen

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 

Kürzlich hochgeladen (20)

What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 

What's New in spring-security-core 2.0