Софтуерно Инженерство
Loading...
milkopg avatar milkopg 47 Точки

[Java Web Development] Домашно за Topic 7 - Spring Security

Нещо не мога да разбера как трябва да се организира UI-я в домашното за лекция 7.

Пише, че трябва да се създаде нова Bank Rigister страница, в която има таблица с 4 колони и 2 бутона New Account & Operation.

Въпроса ми е:

Input полетата които трябва да се изведат от New Account & Operation бутоните в същото jsp ли трябва се изведат и различните колони като Initial Amount и Operation – deposit/withdraw да ги скриваме или показваме в зависимост от правата и всичко това да бъде в същото jsp или да създадем 2 допълнителни jsp-ta едното за нов акаунт и другото за извършване на операции и като се извършат операциите да се връща пак към главната Bank Register страница.

 

Ще съм благодарен ако някой даде повече информация

Тагове:
1
Java Web Development
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

целта на домашното е да ви даде бизнес изискване, на което вие да измислите дизайн и имплементация.

Дали ще сложиш всичките елементи в една страница и ще ги показваш и криеш, по какъв начин ще се показват и крият елементите в този случай, дали ще са отделни страници е ваш избор.

Жокера от мен е - стреми се да правиш прости файлове без значение дали са с Java код, HTML или друг програмен език.

1
milkopg avatar milkopg 47 Точки

Благодаря за отговора Деян,

В случая не трябва ли да има в New Account екрана и username - това липсва в описанието на задачата. В реда на нещата е като се създава нов акаунт да се задава и username на потребителя? Никъде другаде не се въвежда този код, а ще трябва да го визуализираме в началната страница.

от домашното:

“New Account” button for creation of new accounts leading to page with the following:
 Form for input:
           Account Number
           Initial Amount
           Account Currency

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

като се комбинира със security частта потребителя ще се взема от SecurityContextHolder-a както показах в края на лекцията - т.е. username съответства на логнатия потребител.

0
milkopg avatar milkopg 47 Точки

Да това го знам за вземането на потребителя от SecurityContextHolder, но все отнякъде трябва да се въвете полето username i.e. ivan, pesho и тн. Идеята ми беше, че никъде в условието не видях да се въвежда username в New Account или в Operation екрана. Това поле го има само в

Table with columns:
 Username
 Account Number
 Current Amount
 Account Currency

А това доколкото разбирам, е readonly поле, което за да се визуализира трябва да се попълни от някъде.

Прав ли съм или изпускам нещо?

 

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

полето е read-only (всъщност цялата таблица). Това поле не се въвежда от потребителя, а при създаване на акаунт се извлича от логнията потребител. При deposit/withdraw също се взема от логнатия потребител.

0
milkopg avatar milkopg 47 Точки

Това което искам да питам всъщност е как мога да визуализарам username, което не се вкарва никъде? Какво username да визуализирам - session id или нещо друго?

Как да извлеча информация за логнатия потребител като при регистрацията му не вкарвам username?

Деян моля отвори pdf-a за домашно 7, защото има разлики с този на домашно 6 и си мисля, че е изпуснато нещо в домашно 7. В лекция 6 има поле за име, а тук го няма, това ли имаш предвид?

0
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

полето не е изпуснато, а е ненужно. В топик 6 нямахме понятие за логнат потребител и го въвеждахме ръчно. След топик 7 вече имаме логнат потребител и следва данните за него да се вземат по правилния начин (Principal от SecurityContextHolder).

Що се отнася до създаването на акаунт - следва да бъде след като потребителя се е аутентикирал и аутентизирал т.е. разполагаш с потребителя (username). Съответно регистровата страница няма да има данни при първо влизане - ще има след създаване на акаунт.

Ако пък искаш предварително да си създадеш map с account-и - въведи възможни потребители на системата и по този начин ще имаш таблица с първоначални данни.

1
milkopg avatar milkopg 47 Точки

Благодаря, сега вече е ясно!

0
denka avatar denka 52 Точки

Здравей,

И аз имам неясноти по условието.

“New Account” button can be seen and used only by users with ROLE_BANK_EMPLOYEE" - Тоест ROLE_USER не може да създава акаунти, а само да вижда вече готов, създаден от някой BANK_EMPOLEE. 

"Users with ROLE_USER sees only their own accounts (accounts should be linked to users)" - този линк(между юзър и акаунт) не става ясно как се очаква да се направи.

Тук във форума пише: "Това поле не се въвежда от потребителя, а при създаване на акаунт се извлича от логнията потребител" - за username полето в таблицата.  - Тоест аз виждам два варианта:

1.  Таблицата показва не username на притежателя на акаунта, а username на този който го е създал. - Ако е така обаче, за стане линка между акаунт и username при добавянето на акаунта трябва да се добави и възможност за създаване на нов потребител (т.е. да се въведе и username + password  с които въпросния акаунт да се достъпи)

2. Текущо логнатия юзър вижда всички акаунти, но може да прави акаунти само за себе си. - Тоест линкваме създавания акаунт към текущо логнатия юзър. - Ако е така обаче, как тогава се прави акаунт на user с "ROLE_USER" права?

 

2
deyan.zhekov avatar deyan.zhekov 159 Точки

Здравей,

благодаря за коментара - наистина има разминаване в изискванията. Ще коригирам леко условието на задачата:

1) Account да съдържа username за собственика и created by (username на този, който го е създал).

2) Полето username да се добави в екрана за създаване на account - ще се въвежда username, на когото принадлежи акаунта, а този който го е създал ще се извлича от сесията на потребителя.

3) Потребител с ROLE_USER може единствено да внася и тегли пари, но не и да създава нов акаунт, а в регистровата страница вижда само своите акаунти.

4) Потребителите на системата не се създават през интерфейса (за тази задача), а на практика само се използват за връзка между потребителя и неговите банкови акаунти.

 

Условието е коригирано и във файла за домашното.

1
02/03/2016 08:29:38
kosio197 avatar kosio197 104 Точки

Благодаря за бързият отговор и адекватната корекция на условието.

Благодаря и на Денка - :) и аз доста се бях умислил.....?

1