Sunteți pe pagina 1din 3

Ministerul Educaţiei, Culturii și Cercetării al Republicii Moldova

Universitatea Tehnică a Moldovei


Departamentul Ingineria Software și Automatică

RAPORT
Lucrare de laborator Nr.5
Disciplina: Tehnologii Web
Tema: Roluri și politici de acces.
Administrator/Utilizator/Vizitator

A efectuat: st.gr. TI-195 Rotaru Dan

A verificat : asist. univ., Cristian Rusu

Chișinău 2021
Scopul: Crearea nivelurilor de access

Sarcina: Implementarea restricțiilor privind accesul utilizatorilor la anumite pagini ale


site-ului (admin, utilizator).

În lucrarea resprectivă am lucrat cu nivelele de access către aplicație.


Rolurile utilizatorilor:
1. Vizitator (cel care nu este logat)
2. Utilizator (cel care este logat)
3. Administrator (cel care este logat și are un anumit status)

Pentru a face logica am creat un model principal, unde am inclus alte modele secundare. În modelul
dat eu am informația despre user, lista de tranzacții, tabelul Users.

namespace App.Models
{
public class MainModel
{
public UserData User { set; get; }
public DbSet<Transaction> Transactions { set; get; }
public DbSet<UDbTable> Users { set; get; }
}

}
Codul sursă pentru MainModel-ul nostru

@{
if (Model.User.Level.ToString() == "Admin")
{
<a class="item" href="/admin">
<svg viewBox="0 0 24 24">
<path d="M8.9975 2.38854C9.56767 1.87626 10.4323 1.87627 11.0025 2.38854L1
6.5025 7.33008C16.8191 7.61457 17 8.0202 17 8.44587V8.76406C16.8468 8.62693 16.6796 8.5054
16.5007 8.40196C16.0584 8.14611 15.5448 8 15 8C13.3431 8 12 9.34315 12 11H11.502L11.5 11H
8.5C8.22386 11 8 11.2239 8 11.5V15.5C8 16.3284 7.32843 17 6.5 17H4.5C3.67157 17 3 16.3284
3 15.5V8.44587C3 8.0202 3.18086 7.61457 3.4975 7.33008L8.9975 2.38854Z" fill="currentColor
"></path>
<path d="M12 14.0854C12.1564 14.0301 12.3247 14 12.5 14L17.5 14C18.3284 14
19 14.6716 19 15.5C19 16.6161 18.541 17.5103 17.7879 18.1148C17.0466 18.7098 16.0531 19 1
5 19C13.9469 19 12.9534 18.7098 12.2121 18.1148C11.8358 17.8127 11.5329 17.4383 11.324 17C
11.1793 16.6964 11.0797 16.3621 11.0321 16C11.0109 15.8388 11 15.672 11 15.5C11 14.8469 11
.4174 14.2913 12 14.0854Z" fill="currentColor"></path>
<path d="M17 11C17 10.2597 16.5978 9.61337 16 9.26756C15.7058 9.09739 15.3
643 9 15 9C13.8954 9 13 9.89543 13 11C13 12.1046 13.8954 13 15 13C15.3643 13 15.7058 12.90
26 16 12.7324C16.5978 12.3866 17 11.7403 17 11Z" fill="currentColor"></path>
</svg>
<div class="text">Admin page</div>
</a>
}
}
Codul sursă unde puteți vedea linkul care este vizibil doar administratorului

using System.Web.Mvc;
using App.BusinessLogic.DBModel;

namespace App.Controllers
{
public class AdminController : BaseController
{
// GET: Admin
public ActionResult Index()
{
SessionStatus();
if ((string)System.Web.HttpContext.Current.Session["LoginStatus"] != "login")
{
return RedirectToAction("Index", "login");
}
UDB();

if(main.User.Level.ToString() == "Admin")
{
main.Users = new UserContext().Users;
}

return View(main);
}
}
}
Codul sursă pentru AdminController

Aici verific condiția că utilizatorul este Admin, dacă este atunci selectăm toți utilizatorii (un funcțional
al administratorului).

Concluzie
În final pot spune că am creat nivelele de access către aplicație. Am creat 2 nivele de access: Utilizator
și Admin. Administratorul are funcționalul său, unde doar el îl poate accesa.

S-ar putea să vă placă și