I am using Visual Studio 2003 and SQL Server 2000 to try and develop an E-Commerce website. Amongst others I have a Customers table, Suppliers table and a Roles table in the database. What is the standard procedure regarding storing usernames and passwords? At the moment I have Username and Password columns, as well as a foreign key column to the Roles table, in the Customers table as well as in the Suppliers table.
On my login page I have two radiobuttons so the user can specify whether they are logging in as a Customer or a Supplier. That determines then in which table I go to check the username and password. If the user is a valid user, the following line of code runs:
The problem is that then I do not know how to use the Application_AuthenticateRequest() method in the Global.asax.cs. How would I specify in there which database table to be accessed to retrieve the roles? I tried using session variables, but they were not accepted in the Application_AuthenticateRequest() method.
protectedvoid Application_AuthenticateRequest(Object sender, EventArgs e)
//??? How to specify here which table to access
string roles = Access_Customers.GetCustomerRoles(HttpContext.Current.User.Identity.Name);
HttpContext.Current.User = new GenericPrincipal(HttpContext.Current.User.Identity, roles);
Am I missing the point completely here? Is there a better way of approaching this? Perhaps have all login data (usernames and passwords in one table)?
What is better from a security point of view to use in authentication and authorization: Cookies or Session variables?
If you have defined roles, user and password in database, then why u r using Application_AuthenticateRequest(Object sender, EventArgs e) event of globaal.cs. You can directly access through database by forms submit button.
i want to know how should i return values from jagged arrays
public string fync(Type webtype)
string dimen= new string;
dimen = getDetails(Type Webtype);
//how should i collect values in dimen
public string getDetails(Type webtype)
//suppose ss is jagged array of dimension ss
//ie i have ss = i have something
// ss= i have something else
// ss= i have some third item
I just have one small doubt. I just inserted one button into the itemtempelate of a datalist and without writitng any code i ran the project. i tried the same with repeater and datagrid. but the button inserted was not to be seen in any of the above mentioned controls. Where as when i inserted a button to a form i was able to see that button. can anyone tell me why is it like that.
The DataList control is a data-bound control like Repeater, DataGrid. It means you need to bind a datasource to the control to create the UI, otherwise the control displays nothing. You can read more about how to use these controls in MSDN.
I'm playing by the rules, I have a theme setup with a skin file for all my control style settings.
For some reason as I'm working what appear to be defaults for styles for controls keep creeping back into my aspx page and overriding my .skin file.
I think when I bring up the properties of a component in the visual designer and change something innocuous like enableviewstate it's automatically setting a bunch of default style settings that I had just removed.
Is there any setting or way to prevent visual studio from setting any default style settings for components either existing ones or when putting new ones on the forms?
(or is this just a half implemented feature?)
P.S. And why doesn't it preview the page in the designer with the settings in the skin file (or is this again a half implemented feature?)
I don't have it in front of me but definitely settings for fonts etc.
I'm now wondering if it's only the infragistics components that are doing this. I nearly work with only infragistics components so perhaps it's something that doesn't happen with the "stock" ms components.
I have a very small problem, but could not find the solution.
If the entire web page is reloaded when the user hits the button, then you simply persist the client side data in a hidden field so that it can be posted to the server and you can easily access it. You might only consider using AJAX when you don't want to reload the entire web page, and you surely can find lots of tutorials out there with your friend Google.
Hi, from Italy,
I've a problem with a RegularExpressionValidator.
I want validate a textbox following these condition:
1) length must be beetween 3 and 7 charachters
2) spaces not allowed
3) must contains at least 2 of these special charachters ($,%,&,/,(,),=,£,")
4) must contains only these special charachters ($,%,&,/,(,),=,£,"), numbers, letters (uppercase and lowercase) and no spaces
It's too difficult for me.
In Italy there aren't serious guidelines for RegularExpressions, and i've not find answer to my questions online in other sites.
When I use absolute positioning ( position:absolute; left:376px; top:25px; ) in a html control to position an image-button like this one:
<img src="Images/genericbtn.gif" alt="" border="0" usemap="#Map4" style="position:absolute; left:376px; top:25px; z-index:3; width: 95px; height: 23px;"/>
<area shape="poly" coords="94,0, 93,7, 78,22, 0,21, 1,15, 15,0" href="ShoppingCart.aspx" />
It works fine. It gets positioned where it is supposed to.
However, when I use a web control instead ( because I need a C# OnClick event handler ) like this:
<asp:ImageMap ID="checkout" CssClass="CheckBtn" ImageUrl="~/Images/genericbtn.gif" OnClick="checkout_Click" hotspotmode="PostBack" runat="server">
<asp:PolygonHotSpot Coordinates="94,0, 93,7, 78,22, 0,21, 1,15, 15,0" postbackvalue="Yes" />
And using this CSS code:
It does not obey the “left” absolute coordenate. Instead Visual Studio throw it close to the left window border.
1-Is there a solution for that ?
2- I also notice that when you change the CSS absolute position of a html control in the code, VS not always updates it immediately through compilation. Instead it updates it unpredictably and only when you close and run VS again several times.
The same happens when you replace a image file but keeps its old name. VS does not updates the image.
Recently I decided to build one of these customers website on asp.net 2.0 after I found the hosting company I always work with, now is supporting version 2. I used the default membership provider using the SQLExpress on my local, though the other database stuff was on Sql Server 2000. After uploading the site, I found the error which says the Sql Server 2005 do not allows remote connections, and I discovered that the host doesnt support sqlexpress, so I ran aspnet_regsql tool on my main database and changed all connection strings to reffer it. I changed the LocalSqlServer connection string as well. But now I receieve this error on the host:(I ran all sql scripts provided by the tool on the hosting database as well)
The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'. However, the current database schema is not compatible with this version. You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory), or upgrade the provider to a newer version.
And this one on my local
Cannot insert the value NULL into column 'RoleId', table 'milad_ghadami.dbo.aspnet_Roles'; column does not allow nulls. INSERT fails.
The statement has been terminated.
milad_ghadami is my database name.
What do you think? Does it mean that this stuff won't work on Sql Server and just work on SqlExpress? Or there is anything I am missing?
A couple of things that you can do:
+ Open and check data in the 2 columns Feature and CompatibleSchemaVersion of the aspnet_SchemaVersions table
+ Bypass this checking by modifying the store procedure aspnet_CheckSchemaVersion to always return 0.
+ Create your own custom provider which does not check the compatible version.
Basically, VS does not generate the assemblies in the bin folder, but there are a couple of options which you can use the generate the output assembly of the web site:
+ Puslish the web site from the Build menu, however this option is not available in the Express Edition.
+ Use the ASP.NET Compilation Tool (Aspnet_compiler.exe[^]), for more information see ASP.NET Web Site Precompilation [^]
+ Use the Web Project 2005[^] instead of the default Web Site template, the option will generate the output assembly in the bin folder like when you build the web project in VS 2003. But again I'm not sure if it could help in the case of the Express Edition.
Last Visit: 31-Dec-99 18:00 Last Update: 1-Oct-23 0:19