環境変数では期待通り取得できません。なお、認証されていない状態で User.Identity.Name を取得しようとすると、戻り値は空文字列です。
<%@ PAGE LANGUAGE="C#" %>
<html>
<head>
<title>get username</title>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
  if(User.Identity.IsAuthenticated){
    lbl_result.Text = User.Identity.Name;
  }else{
    lbl_result.Text = "(匿名アクセス)";
  }
}
</script>
</head>
<body>
  <form runat="server">
  <asp:Label id="lbl_result" Text="" runat="server" />
  </form>
</body>
</html>