javascript - 如果我希望用户和管理员登录后显示不同的布局,我该怎么办?

标签 javascript java sql json sql-server-2008

我的移动应用程序有两种帐户类型的用户,即管理员和用户。如果我希望用户和管理员登录后显示不同的布局,该怎么办?这是我的登录 Activity 。有人可以帮助我吗?我是初学者。谢谢。或者任何人有任何指导初学者执行这些操作的链接也可以将其发布在此处。非常感谢大家。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    connectionClass = new ConnectionClass();
    edtuserid = (EditText) findViewById(R.id.edtuserid);
    edtpass = (EditText) findViewById(R.id.edtpass);
    btnlogin = (Button) findViewById(R.id.btnlogin);
    pbbar = (ProgressBar) findViewById(R.id.pbbar);
    pbbar.setVisibility(View.GONE);

    shp = this.getSharedPreferences("UserInfo", MODE_PRIVATE);

    String userid = shp.getString("UserId", "none");

    if (userid.equals("none") || userid.trim().equals("")) {

    } else {

        Intent i = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(i);
        finish();

    }


    btnlogin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            DoLogin doLogin = new DoLogin();
            doLogin.execute("");
        }
    });

}

public class DoLogin extends AsyncTask<String,String,String>
{
    String z = "";
    Boolean isSuccess = false;
    String userid = edtuserid.getText().toString();
    String password = edtpass.getText().toString();

    @Override
    protected void onPreExecute() {
        pbbar.setVisibility(View.VISIBLE);
    }

    @Override
    protected void onPostExecute(String r) {
        pbbar.setVisibility(View.GONE);
        Toast.makeText(LoginActivity.this,r,Toast.LENGTH_SHORT).show();
        if(isSuccess) {
            Intent i = new Intent(LoginActivity.this, MainActivity.class);
            startActivity(i);
            finish();
        }
    }

    @Override
    protected String doInBackground(String... params) {
        if(userid.trim().equals("")|| password.trim().equals(""))
            z = "Please enter User Id and Password";
        else
        {
            try {
                Connection con = connectionClass.CONN();
                if (con == null) {
                    z = "Error in connection with SQL server";
                } else {
                    String query = "select * from dbo.demo where UserId='" + userid + "' and Password='" + password + "'";
                    Statement stmt = con.createStatement();
                    ResultSet rs = stmt.executeQuery(query);

                    if(rs.next())
                    {

                        z = "Login successfull";
                        isSuccess=true;
                    }
                    else
                    {
                        z = "Invalid Credentials";
                        isSuccess = false;
                    }

                }
            }
            catch (Exception ex)
            {
                isSuccess = false;
                z = "Exceptions";
            }
        }
        return z;
    }
}

最佳答案

我做过一次这样的项目。为了解决这个登录问题,我们在数据库中添加了一个作为“ Angular 色”,其中包含管理员、用户等 Angular 色。为管理员和用户创建2个不同的页面。检查登录凭据后,还检查 Angular 色,然后进行相应的重定向。

关于javascript - 如果我希望用户和管理员登录后显示不同的布局,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47863554/

相关文章:

javascript - 在 Angular 中使用 Restangular 编辑模型会破坏 PUT,因为 Restangular 会附加模型 ID

javascript - 如何用Js循环动态生成JSON?

javascript - 当我在浏览器中输入 console.log 时,为什么 Google Chrome 没有向我显示结果?

java - 如何: output utf-8(kannada) characters in windows terminal using java

mysql - JOIN id 更好还是保存字符串值更好

mysql - 显示最近记录

javascript - 如何在 Angular 中设置动态填充的字符串(插入的字符串)的样式?

java - Eclipse+Java+Tomcat - 如何设置动态web项目引用其他java项目

java - android OSM/OSMdroid 打开街道 map 不离线加载图 block

mysql - 如何在选择期间合并、连接和忽略空值? MySql