Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...DNN Platform (o...DNN Platform (o...reliable way of getting the current user?reliable way of getting the current user?
Previous
 
Next
New Post
1/15/2012 11:47 PM
 

 

Hello,

 I am using this:

 Dim uinfo As DotNetNuke.Entities.Users.UserInfo = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo()  
Dim userName As String = uinfo.Username
Dim userId As String = uinfo.UserId

    
If userName <> "" Then
    Response.Redirect("test.asp?_diu=" & userId & "&_enamu=" & userName & "&" & Request.QueryString.ToString())
Else
%>
You are not logged in.
End If
%>

 

About half the time it works and gets the login, and about half the time it doesn't and says "You are not logged in."   Is there a more reliable way of getting the current user?

 
New Post
1/16/2012 7:23 AM
 

try this:

if (this.UserId>0) { //userid greater than zero for registered users
this.UserInfo.Username
this.UserInfo.FirstName
this.UserId
etc.
}

 
New Post
1/18/2012 12:23 AM
 

Bartlomiej,

 Thanks for the response.  I am not an advanced programmer, but I believe your code only works inside a DNN file.  I want to access the current logged user's username and userid from an .aspx page using vbscript.  The page is called as a link from a DNN page.  I've attached the complete .aspx script of the page below.

 What I don't know is how to deal with the situation where a user is logged in to the DNN portal but "Request.IsAuthenticated" is false for some reason.

Is there a more reliable way to get the username and userid?

<%@ Page Language="VB" AutoEventWireup="false"  %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml...">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
  <script runat="server">
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
      If Request.IsAuthenticated Then
        lblDisplayName.Text = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().DisplayName
        lblUserName.Text = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().Username
        lblUserId.Text = DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo().UserId
      Else
        lblUserName.Text = "Unknown User"
      End If
 
      If lblUserName.Text <> "Unknown User" Then
    Response.Redirect("/test.asp?userid=" & lblUserId.Text & "&username=" & lblUserName.Text & "&" & Request.QueryString.ToString())
      Else
          Response.Write("Unknown user; please try logging in again or try another browser")
      End If
    End Sub
  </script>
 
    <form id="form1" runat="server">
        <asp:Label ID="lblUserName" runat="server" Text="Label"></asp:Label>
    <BR>
    <asp:Label ID="lblDisplayName" runat="server" Text="Label"></asp:Label>
    <BR>
    <asp:Label ID="lblUserId" runat="server" Text="Label"></asp:Label>
    </form>
</body>
</html>

 
New Post
1/19/2012 2:37 AM
 

Yes my code works only inside DNN.
Some workaround to check if user is loged in is to check in DNN "User" table "LastModifiedOnDate" field and compare with DateTime.Now. Basic programming skills required.

 
Previous
 
Next
HomeHomeDevelopment and...Development and...DNN Platform (o...DNN Platform (o...reliable way of getting the current user?reliable way of getting the current user?


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out