Altairis Profile provider   zodpovězená otázka

ASP.NET WebForms

zdravicko,

strucne a jasne:

1. problem s profile providerem, pridal som par stlpcov ako datum narodenia a podobne (web.config) a nasledne som upravil CreateUserWizard o dalsie polozky s profile provideru, takze otazka znie: mam tam este pisat nejaky kod do CreateUserWizard na ukladanie do tabulky Profiles?? ci to sa robi automaticky ? lebo mi do tabulky v DB nic neulozi

2. maju byt previazane tabulky Users a Profiles? (dal som to cez FK UserName)

PS: web.config je nastaveny spravne tam chyba nebude.

PRILOHA SQL table:

go
CREATE TABLE dbo.[Users](
		UserId					int IDENTITY(1,1)	NOT NULL,
		UserName				nvarchar(100)		NOT NULL,
		PasswordHash			char(86)			NOT NULL,
		PasswordSalt			char(5)				NOT NULL,
		Email					nvarchar(100)		NOT NULL,
		Comment					text				NULL,
		Enabled					bit					NOT NULL,
		DateCreated				datetime			NOT NULL,
		DateLastLogin			datetime			NULL,
		DateLastActivity		datetime			NULL,
		DateLastPasswordChange	datetime			NOT NULL,
		
		CONSTRAINT PK_Users PRIMARY KEY CLUSTERED (UserId ASC),
		CONSTRAINT IX_Users_UserName UNIQUE NONCLUSTERED (UserName ASC)
)

go
CREATE TABLE dbo.[Profiles] (
	[ProfileId]			int IDENTITY(1,1)	NOT NULL,
	[UserName]			nvarchar(100)		NOT NULL,
	[MotoGPNickName]	nvarchar(100)		NOT NULL,
	[FirstName]			nvarchar(32)		NULL,
	[LastName]			nvarchar(32)		NULL,
	[BirthDay]			Smalldatetime		NOT NULL,
	[IcqNumber]			nvarchar(9)			NULL,
	--[Email]				nvarchar(256)		NOT NULL,
	[Question]			nvarchar(256)		NOT NULL,
	[Answer]			nvarchar(128)		NOT NULL,
	[LastUpdate]		datetime			NOT NULL,
	[ShowPersonalInfo]	bit					NOT NULL	DEFAULT(0),

	CONSTRAINT PK_Profiles PRIMARY KEY CLUSTERED (ProfileId ASC),
	CONSTRAINT FK_Profiles_Users FOREIGN KEY (UserName) REFERENCES dbo.[Users] (UserName) ON UPDATE CASCADE ON DELETE CASCADE,
	CONSTRAINT IX_Profiles_MotoGPNickName UNIQUE NONCLUSTERED (MotoGPNickName ASC)
)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

(sam si odpovedam na svoju otazku :D)takze som to po troch dnoch uz vyriesil ak by niekoho zaujimalo tak to tu radsej napisem...

1. doplnenie hodnot do CreateUserWizard (FirstName,...)

2. do EventHandledru (akcia na stlacenie buttonu, OnCreatedUser="CreateUserWizard1_CreatedUser") tlacitka Create User treba doplnit tento kod (code behind):

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e) {
        string userName = CreateUserWizard1.UserName;
        ProfileCommon p = ProfileCommon.Create(userName) as ProfileCommon;
        //set params
        p.MotoGPNickName = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("MotoGPNickName") as TextBox).Text;
        p.FirstName = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("FirstName") as TextBox).Text;
        p.LastName = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("LastName") as TextBox).Text;
        DateTime dt = DateTime.Now;
        DateTime.TryParse((CreateUserWizardStep1.ContentTemplateContainer.FindControl("BirthDay") as TextBox).Text, out dt);
        p.BirthDay = dt;
        p.IcqNumber = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("IcqNumber") as TextBox).Text;
        p.Question = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("Question") as TextBox).Text;
        p.Answer = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("Answer") as TextBox).Text;
        p.ShowPersonalInfo = (CreateUserWizardStep1.ContentTemplateContainer.FindControl("PersonalInfo") as CheckBox).Checked;

        // insert data
        p.Save();
    }

3. spravne nastaveny web.config a to nasledovne:

<profile enabled="true" automaticSaveEnabled="false" defaultProvider="MyProfileProvider">
			<providers>
				<clear/>
				<add name="MyProfileProvider" type="Altairis.Web.Security.SimpleSqlProfileProvider, Altairis.Web.Security" 
             connectionStringName="localConnection" 
             tableName="Profiles" 
             keyColumnName="UserName" 
             lastUpdateColumnName="LastUpdate"/>
			</providers>
			<properties>
				<add name="MotoGPNickName" type="String" customProviderData="MotoGPNickName;nvarchar;100"/>
				<add name="FirstName" type="String" defaultValue="[null]" customProviderData="FirstName;nvarchar;32"/>
				<add name="LastName" type="String" defaultValue="[null]" customProviderData="LastName;nvarchar;32"/>
				<add name="BirthDay" type="DateTime" defaultValue="01.01.1990" customProviderData="BirthDay;smalldatetime"/>
				<add name="IcqNumber" type="String" defaultValue="[null]" customProviderData="IcqNumber;nvarchar;9"/>
				<add name="Question" type="String" customProviderData="Question;nvarchar;256"/>
				<add name="Answer" type="String" customProviderData="Answer;nvarchar;128"/>
				<add name="ShowPersonalInfo" type="Boolean" defaultValue="false" customProviderData="ShowPersonalInfo;bit"/>
			</properties>
		</profile>

dufam ze to niekomu na nieco bude okrem mna :D ... sia

nahlásit spamnahlásit spam 5 / 5 odpovědětodpovědět

Ahoj tak jsem použil ten tvůj návod ale nepustí mi to IISko na hostingu, co s tím???

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback