Forum www.polcz.fora.pl
pcz
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Poprawa laborek z zaawansowanego programowania internetowego

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Projektowanie aplikacji internetowych
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
mateusz.k




Dołączył: 09 Wrz 2009
Posty: 31
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Pon 19:23, 20 Cze 2011    Temat postu: Poprawa laborek z zaawansowanego programowania internetowego

Mam takie pytanie czy ktoś może zna treści pytań jakie były na ostatnim kolokwium??To wrzucajcie na forum...Spotkałem dzisiaj Bartczuka to powiedział, że da te same pytania... Ja miałem takie: Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się uwierzytelnianie uzytkowników( zakładamy, że strona zawierająca listę osób ma być dostępna dla wszystkich użytkowników(również nie zalogowanych)dodawanie dla wszystkich użytkowników zalogowanych, a edycja i usuwanie danych ma być dostępne tylko dla użytkowników z grupy administratorów. Jak ktoś by to rozwiązał to niech wrzuci na maila naszego. Pozdrawiam...

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Pon 23:22, 20 Cze 2011    Temat postu:

Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się widoki częściowe.

Generalnie chodziło o wyświetlanie danych czy coś takiego. Jak się mylę niech mnie ktoś poprawi.

Program na poczcie.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Wto 0:18, 21 Cze 2011    Temat postu: Re: Poprawa laborek z zaawansowanego programowania interneto

mateusz.k napisał:
Dla prostego modelu zawierającego pola (IMIĘ, NAZWISKO.DATA_URODZENIA)pokazać w jaki sposób w ASP.NET MVC realizuje się uwierzytelnianie uzytkowników( zakładamy, że strona zawierająca listę osób ma być dostępna dla wszystkich użytkowników(również nie zalogowanych)dodawanie dla wszystkich użytkowników zalogowanych, a edycja i usuwanie danych ma być dostępne tylko dla użytkowników z grupy administratorów.


Jutro postaram się to zrobić gdyż to prawie to samo co to pierwsze tylko trzeba troche dopisać.

Miał ktoś jeszcze coś innego???


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Wto 12:01, 21 Cze 2011    Temat postu:

Tak dokładnie to brzmiało, mam foto tego xD
Cytat:
Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) pokazać w jaki sposób w ASP.MVC realizuję się widoki częściowe(widokiem częściowym ma być formularz dodawania danych)


Post został pochwalony 0 razy

Ostatnio zmieniony przez Peter dnia Wto 12:03, 21 Cze 2011, w całości zmieniany 2 razy
Powrót do góry
Zobacz profil autora
pieczara




Dołączył: 17 Paź 2008
Posty: 278
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: z groty Nestle

PostWysłany: Wto 13:29, 21 Cze 2011    Temat postu:

Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) napisać walidatory tak by pola login i haslo byly wymagane (chyba te, nie ma różnicy), rok urodzenia nie niższy niż 1990 i hasło min 7 znaków
Coś takiego miałem w niedzielę na poprawce. Zrobiłem całe zadanie, zobaczę czy wziąłem ze sobą ten projekt bo nie pamietam.


Post został pochwalony 0 razy

Ostatnio zmieniony przez pieczara dnia Wto 13:30, 21 Cze 2011, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
marek




Dołączył: 02 Lis 2009
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: jestem

PostWysłany: Wto 17:59, 21 Cze 2011    Temat postu:

Na pytanie co jest wymagane na zaliczenie na 3 odpowiedź dr Łukasza Bartczuka:
Cytat:
Witam,

wymagam minimalnej znajomości wszystkich zagadnień, które są opisane w instrukcjach oraz które były prezentowane na wykładach. Tzn. musi Pan przynajmniej wiedzieć, w którym przysłowiowym kościele dzwoni.

Pozdrawiam
Łukasz Bartczuk


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Czw 19:09, 23 Cze 2011    Temat postu:

Tomek, Ale ty zrobiłeś normalne widoki a nie częściowe.... chyba że się mylę Sad
1. Widoki częściowe są plikami asCx
2. wywoływanie podobno przez: <Html>

Więc nie wiem jak to jest z tym teraz :/ Ktoś podpowie?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Dawid K




Dołączył: 14 Lut 2009
Posty: 11
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Bolesław k/Olkusza

PostWysłany: Czw 21:20, 23 Cze 2011    Temat postu:

Zrobilem taka aplikacje „AllInOne”, w której jest autoryzacja, widoki zwykle, widoki częściowe, szablony.

Widok częściowy jest dla tworzenia nowej osoby, szablon jest dla szczegółów wyświetlania osoby, reszta widoków jest „zwykłych” dla indexu i kasowania.

Autoryzacja dotyczy 3 kont
test - bez roli
test2 - edytor
test3 - admin

hasło do każdego to: qwerty

test może tylko przeglądać wszystkie osoby, test2 edytować i podglądać szczegóły, test3 może wszystko. Bez logowania można oglądać tylko 1 stronę.

Link: [link widoczny dla zalogowanych]

mam nadzieję, że nie będzie żadnych innych cudów, niż to, co było (widoki, widoki częściowe, szablony, autoryzacja)


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
pawmar




Dołączył: 27 Lut 2010
Posty: 50
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Czw 22:48, 23 Cze 2011    Temat postu:

Było jeszcze takie zadanie:
Cytat:
Dla prostego modelu zawierającego pola (imię, nazwisko, data urodzenia, login, hasło) pokazać w jaki sposób w ASP.NET MVC realizuje się walidację danych: pola login i hasło są wymagane, hasło musi mieć więcej niż 7 znaków oraz data urodzenia nie może być mniejsza niż 1990.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Tomek.Korgól




Dołączył: 25 Lut 2009
Posty: 135
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5

PostWysłany: Pią 0:07, 24 Cze 2011    Temat postu:

Wiem, że zle zrobiłem bo ja korzystałem ze słownika ViewData(czy jakoś tak) a dopiero pózniej doczytałem i zorientowałem się że można to robić bez tego i jest znacznie latwiej. Zadań nie wrzucam bo widzę że ktoś to już zrobił.
A co do pytań to jeszcze właśnie walidacja byłaSmile)


Post został pochwalony 0 razy

Ostatnio zmieniony przez Tomek.Korgól dnia Pią 0:09, 24 Cze 2011, w całości zmieniany 1 raz
Powrót do góry
Zobacz profil autora
Peter
Administrator



Dołączył: 17 Paź 2008
Posty: 543
Przeczytał: 0 tematów

Pomógł: 2 razy
Ostrzeżeń: 0/5
Skąd: Exe

PostWysłany: Pią 7:40, 24 Cze 2011    Temat postu:

Niestety ale robiłeś to na starszej wersji Visuala a na pewno SQL'a
[link widoczny dla zalogowanych]

Błąd przy otwieraniu bazy ;-(


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Dawid K




Dołączył: 14 Lut 2009
Posty: 11
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Bolesław k/Olkusza

PostWysłany: Pią 8:41, 24 Cze 2011    Temat postu:

@ up. No właśnie nie wiem, co się z tą bazą dzieje (myślałem, że to tylko pojedynczy przypadek), że nie jest przenośna, ale jest na to sposób:
Kasujesz całą bazę
Kasujesz plik LINQa (AutoryzacjaOsob.dbml)

Robisz nową bazę, nową tabelę o nazwie „OsobaAutoryzacja” jej pola takie:
id int
Imie varchar(50)
Nazwisko varchar(50)
Login varchar(50)
Haslo varchar(50)
DataUrodzenia date

Wszędzie odznaczone AllowNulls

Następnie robisz plik LINQa o nazwie AutoryzacjaOsob.dbml i wrzucasz tą tabelę

Następnie wchodzisz w OsobaController i komentujesz wszystkie [Autorze] (jest ich 5). Nie wiem czemu, ale jak wysyłam ten projekt do kogoś to zarówno autoryzację, jak i bazę szlag trafia.

Co do walidacji to jak coś napiszę, to wrzucę…




//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//EDIT:



Więc tak: zrobiłem walidatory, ale nie będę wrzucać jako projekt, bo wiadomo – błędy z bazą itd. Robiłem na tym projekcie, który umieściłem wcześniej (ten autoryzacja itp).



Kod OsobaModel powinien wyglądać tak:
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace autoryzacjaitp.Models
{
    [WalidatorRok("DataUrodzenia", ErrorMessage = "Rok nie moze byc mniejszy, niz 1990")]

    public class OsobaModel
    {

        public int ID { get; set; }
        public string Imie { get; set; }
        public string Nazwisko { get; set; }
        [Required]
        public string Login { get; set; }
        [Required]
        [StringLength(10, ErrorMessage = "za duzo znakow - max to 10")]
        [WalidatorDlugosc(7, ErrorMessage = "za malo znakow - min to 7")]
        public string Haslo { get; set; }
        public DateTime? DataUrodzenia { get; set; }
   
    }
}


Dodajemy dwie nowe klasy do katalogu Models:
WalidatorDlugoscAttribute.cs
Oraz
WalidatorRokAttribute.cs

Ich budowa jest następująca:

WalidatorDlugoscAttribute.cs
Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace autoryzacjaitp.Models
{
    public class WalidatorDlugosc : ValidationAttribute
    {

        int _dlugosc;

        public WalidatorDlugosc(int dlugosc)
        {
            _dlugosc = dlugosc;
        }

        public override bool IsValid(object value)
        {

            if (value == null)
                return true;

            if ((value as string).Trim().Length >= _dlugosc)
                return true;

            else
                return false;
        }

    }
}


WalidatorRokAttribute:

Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
namespace autoryzacjaitp.Models
{
    public class WalidatorRokAttribute : ValidationAttribute
    {
        public string _DataUrodzenia { get; private set; }

        public WalidatorRokAttribute(string DataUrodzenia)
        {

            _DataUrodzenia = DataUrodzenia;
        }


        public override bool IsValid(object value)
        {
            PropertyDescriptorCollection wlasciwosci = TypeDescriptor.GetProperties(value);
            DateTime? dataUrodzenia = (DateTime?)(wlasciwosci.Find(_DataUrodzenia, true).GetValue(value));
            int rok = dataUrodzenia.Value.Year;


            if (rok >= 1990)
            {
                return true;
            }
            else
                return false;
           
        }
    }
}




Ponadto w OsobaController należy zmienić wartość przy Create (tym drugim Create, przed którym stoi [HttpPost]) na:

Kod:
[HttpPost]
        public ActionResult Create(OsobaModel NewOsoba)
        {
            try
            {               
                if (ModelState.IsValid)
                {
                    _osoba.StworzOsobe(NewOsoba);
                    return RedirectToAction("Index");
                }
                else
                {
                    return View();
                }
            }
            catch
            {
                return View();
            }
        }


I jeszcze jedna drobna zmiana – ponieważ wcześniej miałem jako typ daty urodzenia DateTime, a teraz musiałem zmienić na DateTime? (wymagane do walidacji – bez tego darł mordę, że coś mu w klasie do walidacji roku nie pasuje…) trzeba w klasie OsobaUslugi zmienić w obu przypadkach
Kod:
OsobaEdytuj.DataUrodzenia = EdytujOsoba.DataUrodzenia;
Na
OsobaEdytuj.DataUrodzenia = EdytujOsoba.DataUrodzenia.Value;

oraz w metodzie StworzOsobe
DataUrodzenia = NowaOsoba.DataUrodzenia
na
DataUrodzenia = NowaOsoba.DataUrodzenia.Value



I to chyba tyle – hasło i login są wymagane, rok min to 1990, minimalna długość hasła to 7 (max to 10 – taki bajer dorzuciłem, żeby było coś z walidacji wbudowanej).


Post został pochwalony 0 razy

Ostatnio zmieniony przez Dawid K dnia Pią 12:34, 24 Cze 2011, w całości zmieniany 3 razy
Powrót do góry
Zobacz profil autora
GadQ




Dołączył: 30 Gru 2009
Posty: 47
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Sob 14:11, 25 Cze 2011    Temat postu:

NA KTÓRĄ JEST POPRAWKA W ŚRODĘ?

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Mateusz




Dołączył: 24 Lut 2009
Posty: 29
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany: Wto 15:24, 28 Cze 2011    Temat postu:

Poprawa w środę o 10:00.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
damian.zaskorski




Dołączył: 15 Paź 2008
Posty: 122
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany: Pią 23:07, 08 Lip 2011    Temat postu:

Dał Wam w końcu zaliczenie z tego?

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.polcz.fora.pl Strona Główna -> Projektowanie aplikacji internetowych Wszystkie czasy w strefie CET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Regulamin