I am developing a spring project. In my security-context file I am using the intercept-url tag to manage the access roles:
<security:http once-per-request="false" request-matcher="mvc"
use-expressions="true">
<security:form-login login-page="/login" default-target-url="/"
authentication-success-forward-url="/"
authentication-failure-url="/login?error=true" />
<security:intercept-url pattern="/static/**" access="permitAll" />
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/loggedout" access="permitAll" />
<security:intercept-url pattern="/" access="isAuthenticated()" />
<security:intercept-url pattern="/home" access="isAuthenticated()" />
<security:intercept-url pattern="/error" access="isAuthenticated()" />
<security:intercept-url pattern="/empappraisal" access="hasAnyRole('ADMIN','APPRAISER','HRMANAGER')" />
<security:intercept-url pattern="/**" access="denyAll" />
<security:csrf disabled="true" />
<security:logout logout-success-url="/login" />
<security:access-denied-handler error-page="/error" />
</security:http>
This is hard coded. I want to load intercept-url and access roles from database. How can I do this?
My Database Tables:
create table role (
id int(11) not null primary key auto_increment,
roleName varchar(45) not null
);
create table urls(
id int not null primary key auto_increment,
urlLink varchar(512) not null unique
);
create table urlsandroles(
id int not null primary key auto_increment,
fkUrlId int not null,
fkRoleId int not null,
constraint FK_urlsAndRoles_urlId foreign key(fkUrlId) references urls(id),
constraint Fk_urlsAndRoles_roleId foreign key(fkRoleId) references role(id)
);