Ang balangkas ng Spring Boot ay naglalaman ng isang module na tinatawag na Spring Security. Nakakatulong ito upang ma-secure ang mga mapagkukunan ng web application mula sa hindi awtorisadong pag-access na may minimal na coding.


Nagbibigay ito ng pagpapatunay, pahintulot at maraming iba pang mga tampok para sa mga simpleng application sa antas ng negosyo. Kung matagumpay ang pagpapatunay, mai-access ang mapagkukunan. Kung hindi man, ang gumagamit ay pinaghihigpitan.

Ang Security Security ay isang bukas na platform. Medyo simple para sa isang developer na isulat ang kanyang sariling mekanismo ng pagpapatunay. Maraming mga developer na gumagamit ng Spring Security ay kailangang isama ito sa kanilang sariling mga system na hindi sumusunod sa anumang partikular na pamantayan sa seguridad. Sa kasong ito ang Seguridad sa Seguridad ay nababaluktot upang gumana sa pagsasama.

Mga kinakailangan

  • Isang IDE para sa hal. IntelliJ IDEA
  • JDK 1.8 o mas bago
  • Ang application ng Spring MVC na may form ng pag-login na mayroong listahan ng mga awtorisadong gumagamit.
  • Isang sistema ng build ng alinman sa Gradle 4 o mas bago o Maven 3.2 o mas bago

Hakbang 1: I-update ang build.gradle o POM.xml

Para sa sistema ng build ng Gradle, kailangan mong magdagdag ng isang dependency para gumana ang Spring Security. Ang code na kailangan mong idagdag sa ibaba ng “dependencies”

dependencies {
iipon"org.springframework.boot: spring-boot-starter-security")
}

Kung ang iyong proyekto ay gumagamit ng Maven build system, pagkatapos ay idagdag ang sumusunod na linya ng code sa seksyon sa POM.xml

org.springframework.boot
spring-boot-starter-security

Hakbang 2: Itakda ang pagsasaayos ng seguridad sa application

Sa hakbang na ito, gagawa ka ng isang klase ng pagsasaayos. Ito ay palawigin ng WebSecurityConfigurerAdapter at malulampasan mo ang mga ito ng configure () at mga pamamaraan ng userDetailsService (). Ang paraan ng pag-configure () ay maglalaman ng code para sa dalawang uri ng mga landas ng aplikasyon, kung saan kinakailangan ang seguridad, at iba pang kung saan hindi kinakailangan ang seguridad..

Ang pamamaraan ng userDetailsService () ay ginagamit upang mag-imbak ng isang gumagamit na nasa memorya. Maaaring pahintulutan ng isang gumagamit gamit ang mga kredensyal na kredensyal sa pamamaraang ito.

Ang nasa ibaba ay ang kumpletong file ng pagsasaayos na pinangalanang WebSecurityConfigurasi.java

pag-import ng org.springframework.context.annotation.Bean;
pag-import ng org.springframework.context.annotation.Configurasyon;
i-import ang org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configurasyon.EnableWebSecurity;
pag-import ng org.springframework.security.config.annotation.web.configurasyon.WebSecurityConfigurerAdapter;
i-import ang org.springframework.security.core.userdetails.User;
mag-import ng org.springframework.security.core.userdetails.UserDetails;
pag-import ng org.springframework.security.core.userdetails.UserDetailsService;
i-import ang org.springframework.security.provisioning.InMemoryUserDetailsManager;

@Configurasyon
@EnableWebSecurity
pampublikong klase ng WebSecurityConfig ay nagpapalawak ng WebSecurityConfigurerAdapter {
@Override
protektado ng walang bisa na pagsasaayos (HttpSecurity http) itinapon ang Pagbubukod {
http
.nagpapahintulotMga Kwento ()
.antMatcher ("/", "/ pangunahing") .permitAll ()
.anyRequest () napatunayan ()
.at ()
.formLogin ()
.Pahina sa pag-login("/ userLogin")
.permitAll ()
.at ()
.logout ()
.permitAll ();
}

@Bean
@Override
pampublikong UserDetailsService userDetailsService () {
UserDetails user =
Gumagamit.withDefaultPasswordEncoder ()
.username ("gumagamit")
.password ("password")
.mga tungkulin ("USER")
.magtayo ();
ibalik ang bagong InMemoryUserDetailsManager (gumagamit);
}
}

Ang "/" at "/ pangunahing" na-configure ang mga landas upang hindi nangangailangan ng anumang pagpapatunay. Ang lahat ng iba pang mga landas ay dapat na napatunayan.

Tulad ng para sa userDetailsService () na pamamaraan, nagtatakda ito ng isang in-memorya ng tindahan ng gumagamit na may isang solong gumagamit. Ang tagagamit na iyon ay bibigyan ng isang username ng "gumagamit", isang password ng "password", at isang papel ng "USER".

Hakbang 4: Lumikha ng isang form ng pag-login upang ma-access ang iyong web application

Matapos mailapat ang seguridad sa landas ng aplikasyon, oras na upang makita silang gumagana. Lilikha ka ng isang pahina ng pag-login na kukuha ng username at password at ipapadala ito sa “pangunahing” URL na siyang pahina ng pagpasok sa application. Kung tama ang mga kredensyal, mai-access ng gumagamit ang anumang URL ng application. Nasa ibaba ang isang simpleng pahina ng pag-login sa pagbuo sa HTML. Ang file ay pangunahing.html.

Pangunahing Pahina

Maligayang pagdating

Pangalan ng Gumagamit:
Password:

Hindi tama ang Username o password, hindi ka awtorisado na mag-login. Salamat.

Ang form sa file sa itaas ay magsumite ng username at password sa pangunahing URL. Kapag isinumite, ang Seguridad ng Spring ay magkakaroon ng aksyon at isasagawa ang naaangkop na aksyon batay sa mga kredensyal.

Idagdag mo ang view ng HTML na ito sa klase ng controller ng MVC upang gawin itong nauugnay sa tampok na ito.

pampublikong walang bisa addViewControllers (ViewControllerRegistry registry) {
registry.addViewController ("/ pangunahing") .setViewName ("bahay");
}

Hakbang 4: Subukan ang tampok

Pag-access sa pangunahing URL, makakakuha ang isang gumagamit ng sumusunod na pahina.

Matapos ang matagumpay na pag-login, maa-access ng gumagamit ang lahat ng mga mapagkukunan (URL) ng application.

Konklusyon

Upang paganahin ang Seguridad ng Spring sa iyong application ng Spring Boot, kakailanganin mong idagdag ang pagiging umaasa sa POM ng proyekto o file ng build.gradle ayon sa ginamit na build system. Pagkatapos ay kailangan mong lumikha ng isang file ng pagsasaayos. Maglalaman ito ng mga URL na nangangailangan ng pagpapatunay at kung saan hindi. Pagkatapos ay kailangan mo ng isang pahina ng pag-login upang isumite ang mga kredensyal sa Spring Security upang hayaan itong magpasya kung papayagan ang gumagamit na mag-log in o hindi. Kailangan mong magdagdag ng pahina ng pag-login sa magsusupil ng application.

Suriin ang mga nangungunang 3 serbisyo sa pag-host ng Java:

A2 Hosting

Panimulang presyo:
$ 3.92


Kahusayan
9.3


Pagpepresyo
9.0


Friendly ng Gumagamit
9.3


Suporta
9.3


Mga Tampok
9.3

Basahin ang mga review

Bisitahin ang A2 Hosting

Hexiced

Panimulang presyo:
$ 15.00


Kahusayan
8.3


Pagpepresyo
8.7


Friendly ng Gumagamit
8.5


Suporta
8.3


Mga Tampok
8.5

Basahin ang mga review

Bisitahin ang Heficed

HostUpon

Panimulang presyo:
$ 2.95


Kahusayan
9.4


Pagpepresyo
8.8


Friendly ng Gumagamit
9.1


Suporta
9.4


Mga Tampok
9.0

Basahin ang mga review

Bisitahin ang HostUpon

Kaugnay na Mga Artikulo Paano-Sa

  • Paano Gumawa ng isang Dynamic Web App kasama ang Django
    dalubhasa
  • Paano i-install ang Apache Cassandra sa isang Ubuntu 18.04 VPS o Dedicated Server
    nasa pagitan
  • Paano Mag-install ng Java Sa CentOS 7?
    nasa pagitan
  • Paano Mag-install at I-configure ang Apache Tomcat sa isang Ubuntu 18.04 VPS o Dedicated Server
    nasa pagitan
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me