freedom22 Posts:20
|
01/31/2009 6:12 AM |
|
I would like to build a dnn site where anonymous users do NOT see a register/login link, but administrators can login and edit the site by going to a separate page (e.g., www.sitename.com/admin) to login. Is this possible with DNN? Mark |
|
|
|
|
Joseph Craig DNN MVP Posts:11667
|
01/31/2009 9:30 AM |
|
Yes. Set your site to have no registrations (on the Admin, Site Settings page). The login page will be available at www.sitename.com/login.aspx. |
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
freedom22 Posts:20
|
01/31/2009 9:37 AM |
|
Hi Joe, Thanks for your comment. Doesn't setting no registrations only remove the 'Register' link, but not the 'login' link? I(I tried setting up a site with "no registrations" and found the login link still visible.) Also, is www.sitename.com/login.aspx built in to the dotnetnuke framework? or do i have to set something up to get that? Would 'hiding' pages be of any use? Thanks Mark |
|
|
|
|
Joseph Craig DNN MVP Posts:11667
|
01/31/2009 11:11 AM |
|
Yes. You are absolutely correct. I should have had a cup this morning before answering. If you want to completely remove the login link, you can remove that skin object from within your skin file. If you are working with an html version of the skin, you for "[LOGIN]" in the skin file, and just remove it. If you want to remove the user skin object, that is "[USER]" The USER skin object displays "Register" (if permitted) to non-logged in users and the Display name to logged in users. The LOGIN skin object displays "Login" or "Logout" If you are working with .ascx skin files, then you'll want to look for and remove: < dnn:USER runat="server" id="dnnUSER" / > < dnn:LOGIN runat="server" id="dnnLOGIN" / > Even if you don't want to display a login link to visitors, you might want to display the display name and a logout link once people have logged in. John Mitchell (Snapsis.com) is the source of this code: < % If DotNetNuke.Security.PortalSecurity.IsInRole("Registered Users") Then% > < div id="LoginUserContainer" > < dnn:User cssclass="BannerLinks" runat="server" id="dnnUser" url="" / > | < dnn:Login runat="server" cssclass="BannerLinks" id="dnnLogin" / > < /div > < % End If % > (note that I've added some spaces to that the html tags won't be interpreted as such when this message is posted - remove them to use it.) If you add the conditional stuff around the USER and LOGIN skin objects, they will only be displayed to registered users. YOu can change the role if you want to do this only for Administrators, for instance. Visit Snapsis' DotNetNuke support forums and you'll find a thread that has other uses for conditional code in skin files. I left out another way to login. Either of these should work, provided that you haven't altered the default login page: http://mysite.com/login.aspx http://mysite.com/?ctl=loginThere are also logoff.aspx and ?ctl=logoff. |
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
freedom22 Posts:20
|
01/31/2009 11:32 AM |
|
Joe, Thanks again for your prompt reply. I can do that for the skin. Thanks. Maybe the reason I am getting nowhere with the http://localhost/dnn_451_test/login.aspx to no avail. Does the 'login.aspx' trick only work for sites that have a real domain name? e.g., www.domainname.com/login.aspx? Thanks Mark |
|
|
|
|
Joseph Craig DNN MVP Posts:11667
|
01/31/2009 11:37 AM |
|
That trick should work. If you browse to your site as http://localhost/dnn_451_test, then appending /login.aspx to the url should work. You can also click your existing login link, and copy the URL that appears in your browser when you get to the login page. You can simplify what is there, particularly removing the returnurl stuff. But, copy that url and see if pasting it into the address box works. Then continue to simplify it. |
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
freedom22 Posts:20
|
01/31/2009 11:51 AM |
|
Hi Joe,
It turns out that if I click the login link to get to the site, and copy that URL and append the login.aspx, I can get to the site just fine. (In fact I simplified somewhat by getting rid of the returnURL part and just used
localhost/dnn_451_test/Home/tabID/37/ctl/Login/Default.aspx/login.aspx)
However, if I just use 'localhost/dnn_451_test/login.aspx' I get a server error
"Server Error in '/DNN_451_Test' Application The resource cannot be found. Description HTTP 404 Requested URL: /dnn_451_test/login.aspx
Maybe with locally hosted sites I have to use the larger version of the URL?
Mark
|
|
|
|
|
Joseph Craig DNN MVP Posts:11667
|
01/31/2009 12:08 PM |
|
I say go with what works!
You might be able to removed tabID/37. Keep pruning ...
(Localhost isn't special, so I don't know why the even simpler version won't work.(
|
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
freedom22 Posts:20
|
01/31/2009 12:30 PM |
|
Well, I will just go with what works then. I can't get the short version to work on my machine. Thanks for your help, Joe.
Mark
|
|
|
|
|
Déclic Vidéo FX
Nuke Pro Posts:93
|
09/25/2009 2:44 PM |
|
Hello, I would like to know if it is possible to show the LOGIN name instead of the DISPLAY NAME at the top of the page where the login appears (once the user is logged in). Thanks in advance, DV FX |
|
Déclic Vidéo FX - http://declic-video-fx.com |
|
|
Joseph Craig DNN MVP Posts:11667
|
09/25/2009 2:54 PM |
|
Perhaps the easiest way to do this would be to configure the Display Name to be the same as the Username. You can do this on the User Settings page from User Accounts.
Existing users will not be changed, but you can change it by running a SQL query to update DisplayName from Username. Both are columns in the Users table. So ... something like:
UPDATE Users SET DisplayName = Username
(Note that I didn't test this, so be sure to test it on a copy of your database before using it. You can do this in the Host, SQL query window.)
SELECT * FROM Users
is the query you would use to check the results.
|
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
Déclic Vidéo FX
Nuke Pro Posts:93
|
09/25/2009 3:13 PM |
|
Hello Jcraig, Thanks for the answer, but that's not what I am trying to do. In fact, it is related to this topic, I am searching to display the LOGIN-NAME at the top of the screen, instead of Display name. By doing what you propose, it mean that all my database is modified, and when using "displayname" in other module (like comments from Ventrian), it will display Username instead of displayname, and that's not what I want... In my skin (*.ascx), I just want to alter the < dnn:USER runat="server" id="dnnUSER" / > to something which show the USERNAME instead of DISPLAY NAME... Possible ?? Is there any token for this ???...
DV FX |
|
Déclic Vidéo FX - http://declic-video-fx.com |
|
|
Joseph Craig DNN MVP Posts:11667
|
09/25/2009 3:22 PM |
|
Create a content page where you want this to appear, and drop in a text/HTML module with token replacement enabled. You have these tokens to work with:
[User: DisplayName] | User’s Display Name | [User:Email] | User’s Email Address | [User:FirstName] | User’s First Name | [User:FullName] | [deprecated] | [User:LastName] | User’s Last Name | [User:Username] | User’s Login User Name |
The TEXT skin object also supports token replacement ( http://www.dotnetnuke.com/LinkClick...&mid=3944)You can use the TEXT and USER skin objects along with the conditional statemens shown in this thread to really customize things depending on whether the user is logged in or not, is a member of a specific role, etc. |
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
Déclic Vidéo FX
Nuke Pro Posts:93
|
12/30/2009 6:38 AM |
|
Hello, Sorry for bothering you with this, but I was unable to achieve what you described... :-( I would like to do the following: for all authenticated users, REPLACE the "login-name" which appears in my skin (all pages), with the "display-name" How could I achieve this ?? I have seen that in my skin, there is the following: <dnn:USER runat="server" id="dnnUSER" CssClass="User_Link" /> If I replace with dnn ISPLAYNAME, it does not work. Can you guide me please ? Thanks, DV FX |
|
Déclic Vidéo FX - http://declic-video-fx.com |
|
|
Joseph Craig DNN MVP Posts:11667
|
12/30/2009 8:19 AM |
|
I'm a bit confused over your question. If you are using the USER skin object in your skin, then it does display the DISPLAYNAME for authenticated users.
|
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
Déclic Vidéo FX
Nuke Pro Posts:93
|
12/30/2009 8:34 AM |
|
Sorry, I make an error. I would like to replace displayname by login-name.... DV FX |
|
Déclic Vidéo FX - http://declic-video-fx.com |
|
|
Joseph Craig DNN MVP Posts:11667
|
12/30/2009 8:47 AM |
|
OK, that makes sense!
The USER skin object doesn't have an option to display anything other than the display name. So, you will have to make a modification.
If I were doing this, I would take the existing skin object and create an alternative skin object. You will need to have a tiny bit of programming skill. For information on creating skin objects, take at look here.
Take the existing skin object, and create a skin object named USER-ALT. For an absolute minimum, change the line that refers to objuserInfo.DisplayName to refer to objuserInfo.UserName.
If you want to make if somewhat more useful, add an attribute that lets you choose between UserName and DisplayName.
If this is beyond you ... let me know. If I have some free time over the weekend, I might get motivated to do this ...
|
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
Joseph Craig DNN MVP Posts:11667
|
12/30/2009 10:05 AM |
|
It was a short time to the weekend, and I shirked doing what I should be doing this morning ... so see the attached file, which is an installable skin object for DNN 5.x.
This will install in DesktopModules/User-A and you can reference it in your skin files. The attached index 1024.ascx file is a modification to the corresponding file in the Minimal Extropy skin. You will see an additional register tag and a slight change to the tag that references the skin object. I added a DisplayOption attribute. If DisplayOption = "UserName" then the username is displayed. Otherwise, the DisplayName will be shown just like the original skin object.
|
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|
Déclic Vidéo FX
Nuke Pro Posts:93
|
01/02/2010 10:29 AM |
|
Wow Joe, THANKS SO MUCH !! I am very happy to have it done, because I do not know how you done this ! I am a completely novice with such kind of things. Nevertheless, I still have some problems, I tried to use it, but I have the following error message: Could Not Load Skin: /Portals/0/Skins/s00/home.ascx Error: c:\hosting\xxxxxxxxxxxxxx\DesktopModules\User-A\User-A.ascx.vb(143): error BC30451: Name 'RegisterURL' is not declared. (I have replaced the path with xxxxx)
Here is what I done: 1/ Download the two files you sent me. 2/ HOST > Module Definition > Install New Module and I used 1123052696871.zip Everything went well Resource Upload Logs StartJob Starting Installation StartJob Reading files Info Loading user-a.ascx Info File user-a.ascx read successfully Info Loading user-a.ascx.vb Info File user-a.ascx.vb read successfully Info Loading user-a.dnn Info File user-a.dnn read successfully EndJob Reading files done. StartJob Reading Installation Manifest file Info DNN file is in valid 2.0 SkinObject format. Info xml loaded. Info Loading files info Info Loading Modules info Info Loading Control info for '' module EndJob Manifest file finished successfully StartJob Begin Sql execution EndJob Finished Sql execution StartJob Creating files Info Created c:\hosting\xxxxxxxxxxxxxx\DesktopModules\USER-A\user-a.ascx Info Created c:\hosting\xxxxxxxxxxxxxx\DesktopModules\USER-A\user-a.ascx.vb Info Created c:\hosting\xxxxxxxxxxxxxx\DesktopModules\USER-A\user-a.dnn.config EndJob Files created Info Registering Controls EndJob Registering finished EndJob Installation successful. 3/ Then I downloaded the file 112305271154.zip, I extracted it, and then I copy the code into my skin. When accessing the home page, I have the error message: Could Not Load Skin: /Portals/0/Skins/s00/home.ascx Error:
c:\hosting\xxxxxxxxxxxxxx\DesktopModules\User-A\User-A.ascx.vb(143):
error BC30451: Name 'RegisterURL' is not declared. I am running DNN 4.9.5 What could I do ?? Thanks so much, DV FX |
|
Déclic Vidéo FX - http://declic-video-fx.com |
|
|
Joseph Craig DNN MVP Posts:11667
|
01/02/2010 10:51 AM |
|
Whoops. I did this for DotNetNuke 5.x. I think that this might not work with Version 4.x. I'll have to make a version for 4.x. |
|
Joe Craig, Patapsco Research Group Complete DNN Support |
|
|